using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Extensions;
using System;
using System.ComponentModel;
namespace MediaBrowser.Model.LiveTv
{
    public class BaseTimerInfoDto : IHasPropertyChangedEvent, IHasServerId
    {
        /// 
        /// Occurs when a property value changes.
        /// 
        public event PropertyChangedEventHandler PropertyChanged;
        /// 
        /// Id of the recording.
        /// 
        public string Id { get; set; }
        /// 
        /// Gets or sets the server identifier.
        /// 
        /// The server identifier.
        public string ServerId { get; set; }
        /// 
        /// Gets or sets the external identifier.
        /// 
        /// The external identifier.
        public string ExternalId { get; set; }
        /// 
        /// ChannelId of the recording.
        /// 
        public string ChannelId { get; set; }
        /// 
        /// Gets or sets the external channel identifier.
        /// 
        /// The external channel identifier.
        public string ExternalChannelId { get; set; }
        /// 
        /// ChannelName of the recording.
        /// 
        public string ChannelName { get; set; }
        /// 
        /// Gets or sets the program identifier.
        /// 
        /// The program identifier.
        public string ProgramId { get; set; }
        /// 
        /// Gets or sets the external program identifier.
        /// 
        /// The external program identifier.
        public string ExternalProgramId { get; set; }
        /// 
        /// Name of the recording.
        /// 
        public string Name { get; set; }
        /// 
        /// Description 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 name of the service.
        /// 
        /// The name of the service.
        public string ServiceName { get; set; }
        /// 
        /// Gets or sets the priority.
        /// 
        /// The priority.
        public int Priority { get; set; }
        /// 
        /// Gets or sets the pre padding seconds.
        /// 
        /// The pre padding seconds.
        public int PrePaddingSeconds { get; set; }
        /// 
        /// Gets or sets the post padding seconds.
        /// 
        /// The post padding seconds.
        public int PostPaddingSeconds { get; set; }
        /// 
        /// Gets or sets a value indicating whether this instance is pre padding required.
        /// 
        /// true if this instance is pre padding required; otherwise, false.
        public bool IsPrePaddingRequired { get; set; }
        /// 
        /// Gets or sets a value indicating whether this instance is post padding required.
        /// 
        /// true if this instance is post padding required; otherwise, false.
        public bool IsPostPaddingRequired { get; set; }
    }
}