using System; using System.Collections.Generic; using MediaBrowser.Model.Entities; namespace MediaBrowser.Model.DTO { /// /// This is strictly used as a data transfer object from the api layer. /// This holds information about a BaseItem in a format that is convenient for the client. /// public class DTOBaseItem : IHasProviderIds { public string Name { get; set; } public Guid Id { get; set; } public DateTime DateCreated { get; set; } public string SortName { get; set; } public DateTime? PremiereDate { get; set; } public string Path { get; set; } public string OfficialRating { get; set; } public string Overview { get; set; } public IEnumerable Taglines { 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; } public int? IndexNumber { get; set; } public int? ParentIndexNumber { get; set; } public string TrailerUrl { get; set; } public Dictionary ProviderIds { get; set; } public bool HasBanner { get; set; } public bool HasArt { get; set; } public bool HasLogo { get; set; } public bool HasThumb { get; set; } public bool HasPrimaryImage { get; set; } public string Language { get; set; } public int BackdropCount { get; set; } public IEnumerable Children { get; set; } public bool IsFolder { get; set; } /// /// If the item is a Folder this will determine if it's the Root or not /// public bool? IsRoot { get; set; } /// /// If the item is a Folder this will determine if it's a VF or not /// public bool? IsVirtualFolder { get; set; } public Guid? ParentId { get; set; } public string Type { get; set; } public IEnumerable People { get; set; } public IEnumerable Studios { get; set; } /// /// If the item does not have a logo, this will hold the Id of the Parent that has one. /// public Guid? ParentLogoItemId { get; set; } /// /// If the item does not have any backdrops, this will hold the Id of the Parent that has one. /// public Guid? ParentBackdropItemId { get; set; } public int? ParentBackdropCount { get; set; } public IEnumerable LocalTrailers { get; set; } public int LocalTrailerCount { get; set; } /// /// User data for this item based on the user it's being requested for /// public UserItemData UserData { get; set; } public ItemSpecialCounts SpecialCounts { get; set; } public bool IsType(Type type) { return IsType(type.Name); } public bool IsType(string type) { return Type.Equals(type, StringComparison.OrdinalIgnoreCase); } public bool IsNew { get; set; } } }