using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.Library;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Runtime.Serialization;
namespace MediaBrowser.Model.LiveTv
{
///
/// Class ChannelInfoDto
///
[DebuggerDisplay("Name = {Name}, Number = {Number}")]
public class ChannelInfoDto : IHasPropertyChangedEvent, IItemDto, IHasServerId
{
///
/// Gets or sets the name.
///
/// The name.
public string Name { get; set; }
///
/// Gets or sets the server identifier.
///
/// The server identifier.
public string ServerId { get; set; }
///
/// Gets or sets the identifier.
///
/// The identifier.
public string Id { get; set; }
///
/// Gets or sets the external identifier.
///
/// The external identifier.
public string ExternalId { get; set; }
///
/// Gets or sets the media sources.
///
/// The media sources.
public List MediaSources { get; set; }
///
/// Gets or sets the image tags.
///
/// The image tags.
public Dictionary ImageTags { get; set; }
///
/// Gets or sets the number.
///
/// The number.
public string Number { get; set; }
///
/// Gets or sets the play access.
///
/// The play access.
public PlayAccess PlayAccess { get; set; }
///
/// Gets or sets the name of the service.
///
/// The name of the service.
public string ServiceName { get; set; }
///
/// Gets or sets the type of the channel.
///
/// The type of the channel.
public ChannelType ChannelType { get; set; }
///
/// Gets or sets the type.
///
/// The type.
public string Type { get; set; }
///
/// Gets or sets the type of the media.
///
/// The type of the media.
public string MediaType { get; set; }
///
/// Gets or sets the user data.
///
/// The user data.
public UserItemDataDto UserData { get; set; }
///
/// Gets or sets the now playing program.
///
/// The now playing program.
public BaseItemDto CurrentProgram { get; set; }
///
/// Gets or sets the primary image aspect ratio, after image enhancements.
///
/// The primary image aspect ratio.
public double? PrimaryImageAspectRatio { get; set; }
///
/// Gets or sets the primary image aspect ratio, before image enhancements.
///
/// The original primary image aspect ratio.
public double? OriginalPrimaryImageAspectRatio { 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); }
}
public ChannelInfoDto()
{
ImageTags = new Dictionary();
MediaSources = new List();
}
public event PropertyChangedEventHandler PropertyChanged;
}
}