From da79ad147e0c9531dce369a9b02d9704fb06f44b Mon Sep 17 00:00:00 2001 From: markus101 Date: Mon, 14 Feb 2011 19:48:39 -0800 Subject: [PATCH] New series will be added monitored and quality will be set to default quality. Series now stores a QualityProfile instead of QualityType --- NzbDrone.Core/Providers/SeriesProvider.cs | 11 +++++++++-- NzbDrone.Core/Repository/Series.cs | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/NzbDrone.Core/Providers/SeriesProvider.cs b/NzbDrone.Core/Providers/SeriesProvider.cs index 9c9c57cd1..8385ee22c 100644 --- a/NzbDrone.Core/Providers/SeriesProvider.cs +++ b/NzbDrone.Core/Providers/SeriesProvider.cs @@ -21,14 +21,16 @@ namespace NzbDrone.Core.Providers private readonly IDiskProvider _diskProvider; private readonly IRepository _sonioRepo; private readonly ITvDbProvider _tvDb; + private readonly IQualityProvider _quality; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public SeriesProvider(IDiskProvider diskProvider, IConfigProvider configProvider, IRepository dataRepository, ITvDbProvider tvDbProvider) + public SeriesProvider(IDiskProvider diskProvider, IConfigProvider configProvider, IRepository dataRepository, ITvDbProvider tvDbProvider, IQualityProvider quality) { _diskProvider = diskProvider; _config = configProvider; _sonioRepo = dataRepository; _tvDb = tvDbProvider; + _quality = quality; } #region ISeriesProvider Members @@ -55,7 +57,10 @@ namespace NzbDrone.Core.Providers public bool QualityWanted(int seriesId, QualityTypes quality) { - return _sonioRepo.Exists(s => s.SeriesId == seriesId && (QualityTypes)s.Quality == quality); + var series = _sonioRepo.Single(seriesId); + var profile = _quality.Find(series.QualityProfile.ProfileId); + + return profile.Allowed.Contains(quality); } public Dictionary GetUnmappedFolders() @@ -102,6 +107,8 @@ namespace NzbDrone.Core.Providers repoSeries.Language = series.Language != null ? series.Language.Abbriviation : string.Empty; repoSeries.Path = path; repoSeries.CleanTitle = Parser.NormalizeTitle(series.SeriesName); + repoSeries.Monitored = true; //New shows should be monitored + repoSeries.QualityProfile = (QualityProfile) Enum.Parse(typeof (QualityProfile), _config.GetValue("Quality", 1, true)); _sonioRepo.Add(repoSeries); } diff --git a/NzbDrone.Core/Repository/Series.cs b/NzbDrone.Core/Repository/Series.cs index 78c6ae624..b43e017bf 100644 --- a/NzbDrone.Core/Repository/Series.cs +++ b/NzbDrone.Core/Repository/Series.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using NzbDrone.Core.Repository.Quality; using SubSonic.SqlGeneration.Schema; namespace NzbDrone.Core.Repository @@ -29,7 +30,7 @@ namespace NzbDrone.Core.Repository public bool Monitored { get; set; } - public int Quality { get; set; } + public QualityProfile QualityProfile { get; set; } [SubSonicToManyRelation] public virtual List Seasons { get; private set; }