using System;
using System.ComponentModel;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Model;
using NzbDrone.Core.Repository.Quality;
using PetaPoco;
namespace NzbDrone.Core.Repository
{
[PrimaryKey("SeriesId", autoIncrement = false)]
public class Series:BaseRepositoryModel
{
public virtual int SeriesId { get; set; }
public string Title { get; set; }
public string CleanTitle { get; set; }
public string Status { get; set; }
public string Overview { get; set; }
[DisplayName("Air on")]
public DayOfWeek? AirsDayOfWeek { get; set; }
[Column("AirTimes")]
public String AirTime { get; set; }
public string Language { get; set; }
public string Path { get; set; }
public bool Monitored { get; set; }
public virtual int QualityProfileId { get; set; }
public bool SeasonFolder { get; set; }
public DateTime? LastInfoSync { get; set; }
public DateTime? LastDiskSync { get; set; }
public int Runtime { get; set; }
public string BannerUrl { get; set; }
public bool IsDaily { get; set; }
public BacklogSettingType BacklogSetting { get; set; }
public string Network { get; set; }
public DateTime? CustomStartDate { get; set; }
public bool UseSceneNumbering { get; set; }
public int TvRageId { get; set; }
public string TvRageTitle { get; set; }
//Todo: This should be a double since there are timezones that aren't on a full hour offset
public int UtcOffset { get; set; }
public DateTime? FirstAired { get; set; }
///
/// Gets or sets a value indicating whether this is hidden.
///
/// true if hidden; otherwise, false.
/// This field will be used for shows that are pending delete or
/// new series that haven't been successfully imported
[PetaPoco.Ignore]
public bool Hidden { get; set; }
[ResultColumn]
public QualityProfile QualityProfile { get; set; }
[ResultColumn]
public int EpisodeCount { get; set; }
[ResultColumn]
public int EpisodeFileCount { get; set; }
[ResultColumn]
public int SeasonCount { get; set; }
[ResultColumn]
public DateTime? NextAiring { get; set; }
}
}