using System; using System.Collections.Generic; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Users; namespace MediaBrowser.Model.DTO { /// /// This is a concrete class that the UI can use to deserialize /// It is flat in the sense that it will be used regardless of the type of BaseItem involved /// public class ApiBaseItem : BaseItem { // Series properties public string Status { get; set; } public IEnumerable AirDays { get; set; } public string AirTime { get; set; } } /// /// This is the full return object when requesting an Item /// public class BaseItemWrapper where T : BaseItem { public T Item { get; set; } public UserItemData UserItemData { get; set; } public IEnumerable> Children { get; set; } public bool IsFolder { get; set; } public Guid? ParentId { get; set; } public string Type { get; set; } public bool IsType(Type type) { return IsType(type.Name); } public bool IsType(string type) { return Type.Equals(type, StringComparison.OrdinalIgnoreCase); } public IEnumerable People { 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; } public Guid? ParentBackdropItemId { get; set; } public int? ParentBackdropCount { get; set; } } /// /// This is strictly for convenience so the UI's don't have to use the verbose generic syntax of BaseItemWrapper /// public class ApiBaseItemWrapper : BaseItemWrapper { } }