In Sitecore, I have a Carousel
template in which there is slides
field of type TreelistEx. Slides
would contain any items based on either DesignedSlide
or VideoSlide
template.
DesignedSlide
or VideoSlide
are inheriting from BaseSlide
template.
Following is my class definitions.
[SitecoreType(TemplateId = Constants.BaseSlideTemplateId)]
public class BaseSlide
{
[SitecoreField(FieldName = "title")]
public virtual string Title { get; set; }
}
[SitecoreType(TemplateId = Constants.DesignedSlideTemplateId)]
public class DesignedSlide : BaseSlide
{
[SitecoreField(FieldName = "imageEffect")]
public virtual string ImageEffect { get; set; }
}
[SitecoreType(TemplateId = Constants.VideoSlideTemplateId)]
public class VideoSlide : BaseSlide
{
[SitecoreField(FieldName = "videoId")]
public virtual string VideoId { get; set; }
}
[SitecoreType(TemplateId = Constants.CarouselTemplateId)]
public class Carousel
{
[SitecoreField(FieldName = "slides")]
public virtual IEnumerable<BaseSlide> Slides { get; set; }
}
Using Glassmapper, I want to retrieve collection of slides and while iterating I should be able to identify whether its a video slide or designed slide.
Can anyone please give some inputs?
Thanks in advance.