using System.Diagnostics; using System.Runtime.Serialization; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using System; using System.Collections.Generic; using System.ComponentModel; namespace MediaBrowser.Model.LiveTv { [DebuggerDisplay("Name = {Name}, ChannelName = {ChannelName}")] public class RecordingInfoDto : INotifyPropertyChanged { /// /// Id of the recording. /// public string Id { get; set; } /// /// Gets or sets the series timer identifier. /// /// The series timer identifier. public string SeriesTimerId { get; set; } /// /// Gets or sets the external identifier. /// /// The external identifier. public string ExternalId { get; set; } /// /// Gets or sets the program identifier. /// /// The program identifier. public string ProgramId { get; set; } /// /// ChannelId of the recording. /// public string ChannelId { get; set; } /// /// Gets or sets the channel primary image tag. /// /// The channel primary image tag. public Guid? ChannelPrimaryImageTag { get; set; } /// /// ChannelName of the recording. /// public string ChannelName { get; set; } /// /// Gets or sets the name of the service. /// /// The name of the service. public string ServiceName { get; set; } /// /// Name of the recording. /// public string Name { get; set; } /// /// Gets or sets the media streams. /// /// The media streams. public List MediaStreams { get; set; } /// /// Gets or sets the path. /// /// The path. public string Path { get; set; } /// /// Overview of the recording. /// public string Overview { get; set; } /// /// The start date of the recording, in UTC. /// public DateTime StartDate { get; set; } /// /// The end date of the recording, in UTC. /// public DateTime EndDate { get; set; } /// /// Gets or sets the original air date. /// /// The original air date. public DateTime? OriginalAirDate { get; set; } /// /// Gets or sets the status. /// /// The status. public RecordingStatus Status { get; set; } /// /// Gets or sets the name of the status. /// /// The name of the status. public string StatusName { get; set; } /// /// Gets or sets the completion percentage. /// /// The completion percentage. public double? CompletionPercentage { get; set; } /// /// Genre of the program. /// public List Genres { get; set; } /// /// Gets or sets a value indicating whether this instance is repeat. /// /// true if this instance is repeat; otherwise, false. public bool IsRepeat { get; set; } /// /// Gets or sets the episode title. /// /// The episode title. public string EpisodeTitle { get; set; } /// /// Gets or sets the run time ticks. /// /// The run time ticks. public long? RunTimeTicks { get; set; } /// /// Gets or sets the type of the media. /// /// The type of the media. public string MediaType { get; set; } /// /// Gets or sets the type of the channel. /// /// The type of the channel. public ChannelType ChannelType { get; set; } /// /// Gets or sets the official rating. /// /// The official rating. public string OfficialRating { get; set; } /// /// Gets or sets the community rating. /// /// The community rating. public float? CommunityRating { get; set; } /// /// Gets or sets a value indicating whether this instance is hd. /// /// true if this instance is hd; otherwise, false. public bool? IsHD { get; set; } /// /// Gets or sets the audio. /// /// The audio. public ProgramAudio? Audio { get; set; } /// /// Gets or sets a value indicating whether this instance is movie. /// /// true if this instance is movie; otherwise, false. public bool IsMovie { get; set; } /// /// Gets or sets a value indicating whether this instance is sports. /// /// true if this instance is sports; otherwise, false. public bool IsSports { get; set; } /// /// Gets or sets a value indicating whether this instance is series. /// /// true if this instance is series; otherwise, false. public bool IsSeries { get; set; } /// /// Gets or sets a value indicating whether this instance is live. /// /// true if this instance is live; otherwise, false. public bool IsLive { get; set; } /// /// Gets or sets a value indicating whether this instance is news. /// /// true if this instance is news; otherwise, false. public bool IsNews { get; set; } /// /// Gets or sets a value indicating whether this instance is kids. /// /// true if this instance is kids; otherwise, false. public bool IsKids { get; set; } /// /// Gets or sets a value indicating whether this instance is premiere. /// /// true if this instance is premiere; otherwise, false. public bool IsPremiere { get; set; } /// /// Gets or sets the image tags. /// /// The image tags. public Dictionary ImageTags { get; set; } /// /// Gets or sets the user data. /// /// The user data. public UserItemDataDto UserData { get; set; } /// /// Gets a value indicating whether this instance has primary image. /// /// true if this instance has primary image; otherwise, false. [IgnoreDataMember] public bool HasPrimaryImage { get { return ImageTags != null && ImageTags.ContainsKey(ImageType.Primary); } } /// /// Gets or sets the type. /// /// The type. public string Type { get; set; } public RecordingInfoDto() { Genres = new List(); ImageTags = new Dictionary(); } public event PropertyChangedEventHandler PropertyChanged; } }