using System; using Marr.Data; using NzbDrone.Core.Datastore; using NzbDrone.Core.MediaFiles; using NzbDrone.Core.Model; namespace NzbDrone.Core.Tv { public class Episode : ModelBase { public int TvDbEpisodeId { get; set; } public int SeriesId { get; set; } public int EpisodeFileId { get; set; } public int SeasonNumber { get; set; } public int EpisodeNumber { get; set; } public string Title { get; set; } public DateTime? AirDate { get; set; } public string Overview { get; set; } public Boolean Ignored { get; set; } public Nullable AbsoluteEpisodeNumber { get; set; } public int SceneSeasonNumber { get; set; } public int SceneEpisodeNumber { get; set; } public bool HasFile { get { return EpisodeFileId != 0; } } public String SeriesTitle { get; private set; } public Series Series { get; set; } public LazyLoaded EpisodeFile { get; set; } public override string ToString() { string seriesTitle = Series == null ? "[NULL]" : Series.Title; if (Series != null && Series.SeriesType == SeriesTypes.Daily && AirDate.HasValue) return string.Format("{0} - {1:yyyy-MM-dd}", seriesTitle, AirDate.Value); return string.Format("{0} - S{1:00}E{2:00}", seriesTitle, SeasonNumber, EpisodeNumber); } } }