using System; using System.Collections.Generic; using System.Linq; namespace MediaBrowser.Model.Entities { public abstract class BaseItem : BaseEntity, IHasProviderIds { /// /// Goes up the tree to find the virtual folder parent /// public VirtualFolder VirtualFolder { get { var vf = this as VirtualFolder; if (vf != null) { return vf; } if (Parent != null) { return Parent.VirtualFolder; } return null; } } public string SortName { get; set; } /// /// When the item first debuted. For movies this could be premiere date, episodes would be first aired /// public DateTime? PremiereDate { get; set; } public string Path { get; set; } public Folder Parent { get; set; } public string LogoImagePath { get; set; } public string ArtImagePath { get; set; } public string ThumbnailImagePath { get; set; } public string BannerImagePath { get; set; } public IEnumerable BackdropImagePaths { get; set; } public string OfficialRating { get; set; } public string CustomRating { get; set; } public string Language { get; set; } public string Overview { get; set; } public IEnumerable Taglines { get; set; } public IEnumerable People { get; set; } public IEnumerable Studios { get; set; } public IEnumerable Genres { get; set; } public string DisplayMediaType { get; set; } public float? UserRating { get; set; } public long? RunTimeTicks { get; set; } public string AspectRatio { get; set; } public int? ProductionYear { get; set; } /// /// If the item is part of a series, this is it's number in the series. /// This could be episode number, album track number, etc. /// public int? IndexNumber { get; set; } /// /// For an episode this could be the season number, or for a song this could be the disc number. /// public int? ParentIndexNumber { get; set; } public IEnumerable