using System; using System.Collections.Generic; using System.IO; using Newtonsoft.Json; namespace Tesses.CMS { public class Episode { [JsonIgnore] public long Id {get;set;} [JsonProperty("proper_name")] public string ProperName {get;set;}=""; [JsonProperty("season_number")] public int SeasonNumber {get;set;} [JsonProperty("episode_number")] public int EpisodeNumber {get;set;} [JsonProperty("episode_name")] public string EpisodeName {get;set;}=""; [JsonIgnore] public long ShowId {get;set;} [JsonIgnore] public long UserId {get;set;} [JsonProperty("creation_time")] public DateTime CreationTime {get;set;}=DateTime.Now; [JsonProperty("last_updated_time")] public DateTime LastUpdated {get;set;}=DateTime.Now; [JsonProperty("description")] public string Description {get;set;}=""; public object Scriban(CMSConfiguration configuration,string dir,string user,string show) { return new { Proper = System.Web.HttpUtility.HtmlEncode( ProperName), Season = SeasonNumber, Episode = EpisodeNumber, Description = System.Web.HttpUtility.HtmlEncode(Description), Thumbnail = File.Exists(Path.Combine(dir,user,"show",show,$"Season {SeasonNumber.ToString("D2")}",$"{EpisodeName} S{SeasonNumber.ToString("D2")}E{EpisodeNumber.ToString("D2")}-thumbnail.jpg")) ? $"{configuration.Root.TrimEnd('/')}/content/{user}/show/{show}/Season%20{SeasonNumber.ToString("D2")}/{EpisodeName}%20S{SeasonNumber.ToString("D2")}E{EpisodeNumber.ToString("D2")}-thumbnail.jpg" : File.Exists(Path.Combine(dir,user,"show",show,$"Season {SeasonNumber.ToString("D2")}","thumbnail.jpg")) ? $"{configuration.Root.TrimEnd('/')}/content/{user}/show/{show}/Season%20{SeasonNumber.ToString("D2")}/thumbnail.jpg" : $"{configuration.Root.TrimEnd('/')}/content/{user}/show/{show}/thumbnail.jpg" }; } } }