using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
{
///
/// Program dto.
///
public class ProgramDto
{
///
/// Gets or sets the program id.
///
[JsonPropertyName("programID")]
public string? ProgramId { get; set; }
///
/// Gets or sets the air date time.
///
[JsonPropertyName("airDateTime")]
public DateTime? AirDateTime { get; set; }
///
/// Gets or sets the duration.
///
[JsonPropertyName("duration")]
public int Duration { get; set; }
///
/// Gets or sets the md5.
///
[JsonPropertyName("md5")]
public string? Md5 { get; set; }
///
/// Gets or sets the list of audio properties.
///
[JsonPropertyName("audioProperties")]
public IReadOnlyList AudioProperties { get; set; } = Array.Empty();
///
/// Gets or sets the list of video properties.
///
[JsonPropertyName("videoProperties")]
public IReadOnlyList VideoProperties { get; set; } = Array.Empty();
///
/// Gets or sets the list of ratings.
///
[JsonPropertyName("ratings")]
public IReadOnlyList Ratings { get; set; } = Array.Empty();
///
/// Gets or sets a value indicating whether this program is new.
///
[JsonPropertyName("new")]
public bool? New { get; set; }
///
/// Gets or sets the multipart object.
///
[JsonPropertyName("multipart")]
public MultipartDto? Multipart { get; set; }
///
/// Gets or sets the live tape delay.
///
[JsonPropertyName("liveTapeDelay")]
public string? LiveTapeDelay { get; set; }
///
/// Gets or sets a value indicating whether this is the premiere.
///
[JsonPropertyName("premiere")]
public bool Premiere { get; set; }
///
/// Gets or sets a value indicating whether this is a repeat.
///
[JsonPropertyName("repeat")]
public bool Repeat { get; set; }
///
/// Gets or sets the premiere or finale.
///
[JsonPropertyName("isPremiereOrFinale")]
public string? IsPremiereOrFinale { get; set; }
}
}