using System; using System.Collections.Generic; using NzbDrone.Common.Extensions; using NzbDrone.Core.Datastore; using NzbDrone.Core.Languages; using NzbDrone.Core.Profiles.Qualities; namespace NzbDrone.Core.Tv { public class Series : ModelBase { public Series() { Images = new List(); Genres = new List(); Actors = new List(); Seasons = new List(); Tags = new HashSet(); OriginalLanguage = Language.English; } public int TvdbId { get; set; } public int TvRageId { get; set; } public int TvMazeId { get; set; } public string ImdbId { get; set; } public string Title { get; set; } public string CleanTitle { get; set; } public string SortTitle { get; set; } public SeriesStatusType Status { get; set; } public string Overview { get; set; } public string AirTime { get; set; } public bool Monitored { get; set; } public NewItemMonitorTypes MonitorNewItems { get; set; } public int QualityProfileId { get; set; } public bool SeasonFolder { get; set; } public DateTime? LastInfoSync { get; set; } public int Runtime { get; set; } public List Images { get; set; } public SeriesTypes SeriesType { get; set; } public string Network { get; set; } public bool UseSceneNumbering { get; set; } public string TitleSlug { get; set; } public string Path { get; set; } public int Year { get; set; } public Ratings Ratings { get; set; } public List Genres { get; set; } public List Actors { get; set; } public string Certification { get; set; } public string RootFolderPath { get; set; } public DateTime Added { get; set; } public DateTime? FirstAired { get; set; } public DateTime? LastAired { get; set; } public LazyLoaded QualityProfile { get; set; } public Language OriginalLanguage { get; set; } public List Seasons { get; set; } public HashSet Tags { get; set; } public AddSeriesOptions AddOptions { get; set; } public override string ToString() { return string.Format("[{0}][{1}]", TvdbId, Title.NullSafe()); } public void ApplyChanges(Series otherSeries) { TvdbId = otherSeries.TvdbId; Seasons = otherSeries.Seasons; Path = otherSeries.Path; QualityProfileId = otherSeries.QualityProfileId; SeasonFolder = otherSeries.SeasonFolder; Monitored = otherSeries.Monitored; MonitorNewItems = otherSeries.MonitorNewItems; SeriesType = otherSeries.SeriesType; RootFolderPath = otherSeries.RootFolderPath; Tags = otherSeries.Tags; AddOptions = otherSeries.AddOptions; } } }