tesses-cms/Tesses.CMS/Episode.cs

45 lines
2.0 KiB
C#

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"
};
}
}
}