using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
{
///
/// Program details dto.
///
public class ProgramDetailsDto
{
///
/// Gets or sets the audience.
///
[JsonPropertyName("audience")]
public string? Audience { get; set; }
///
/// Gets or sets the program id.
///
[JsonPropertyName("programID")]
public string? ProgramId { get; set; }
///
/// Gets or sets the list of titles.
///
[JsonPropertyName("titles")]
public IReadOnlyList Titles { get; set; } = Array.Empty();
///
/// Gets or sets the event details object.
///
[JsonPropertyName("eventDetails")]
public EventDetailsDto? EventDetails { get; set; }
///
/// Gets or sets the descriptions.
///
[JsonPropertyName("descriptions")]
public DescriptionsProgramDto? Descriptions { get; set; }
///
/// Gets or sets the original air date.
///
[JsonPropertyName("originalAirDate")]
public DateTime? OriginalAirDate { get; set; }
///
/// Gets or sets the list of genres.
///
[JsonPropertyName("genres")]
public IReadOnlyList Genres { get; set; } = Array.Empty();
///
/// Gets or sets the episode title.
///
[JsonPropertyName("episodeTitle150")]
public string? EpisodeTitle150 { get; set; }
///
/// Gets or sets the list of metadata.
///
[JsonPropertyName("metadata")]
public IReadOnlyList Metadata { get; set; } = Array.Empty();
///
/// Gets or sets the list of content raitings.
///
[JsonPropertyName("contentRating")]
public IReadOnlyList ContentRating { get; set; } = Array.Empty();
///
/// Gets or sets the list of cast.
///
[JsonPropertyName("cast")]
public IReadOnlyList Cast { get; set; } = Array.Empty();
///
/// Gets or sets the list of crew.
///
[JsonPropertyName("crew")]
public IReadOnlyList Crew { get; set; } = Array.Empty();
///
/// Gets or sets the entity type.
///
[JsonPropertyName("entityType")]
public string? EntityType { get; set; }
///
/// Gets or sets the show type.
///
[JsonPropertyName("showType")]
public string? ShowType { get; set; }
///
/// Gets or sets a value indicating whether there is image artwork.
///
[JsonPropertyName("hasImageArtwork")]
public bool HasImageArtwork { get; set; }
///
/// Gets or sets the primary image.
///
[JsonPropertyName("primaryImage")]
public string? PrimaryImage { get; set; }
///
/// Gets or sets the thumb image.
///
[JsonPropertyName("thumbImage")]
public string? ThumbImage { get; set; }
///
/// Gets or sets the backdrop image.
///
[JsonPropertyName("backdropImage")]
public string? BackdropImage { get; set; }
///
/// Gets or sets the banner image.
///
[JsonPropertyName("bannerImage")]
public string? BannerImage { get; set; }
///
/// Gets or sets the image id.
///
[JsonPropertyName("imageID")]
public string? ImageId { get; set; }
///
/// Gets or sets the md5.
///
[JsonPropertyName("md5")]
public string? Md5 { get; set; }
///
/// Gets or sets the list of content advisory.
///
[JsonPropertyName("contentAdvisory")]
public IReadOnlyList ContentAdvisory { get; set; } = Array.Empty();
///
/// Gets or sets the movie object.
///
[JsonPropertyName("movie")]
public MovieDto? Movie { get; set; }
///
/// Gets or sets the list of recommendations.
///
[JsonPropertyName("recommendations")]
public IReadOnlyList Recommendations { get; set; } = Array.Empty();
}
}