From 98b1a7681be36199283f36c692ed10ff30ded721 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sun, 12 May 2019 16:03:31 -0700 Subject: [PATCH] Fixed: Monitored status being reset after refresh when series is edited manually --- src/NzbDrone.Core/Tv/SeriesService.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/NzbDrone.Core/Tv/SeriesService.cs b/src/NzbDrone.Core/Tv/SeriesService.cs index f888c8ada65..48e890e1c2a 100644 --- a/src/NzbDrone.Core/Tv/SeriesService.cs +++ b/src/NzbDrone.Core/Tv/SeriesService.cs @@ -169,16 +169,22 @@ public Series UpdateSeries(Series series, bool updateEpisodesToMatchSeason = tru { var storedSeries = GetSeries(series.Id); - foreach (var season in series.Seasons) + if (updateEpisodesToMatchSeason) { - var storedSeason = storedSeries.Seasons.SingleOrDefault(s => s.SeasonNumber == season.SeasonNumber); - - if (storedSeason != null && season.Monitored != storedSeason.Monitored && updateEpisodesToMatchSeason) + foreach (var season in series.Seasons) { - _episodeService.SetEpisodeMonitoredBySeason(series.Id, season.SeasonNumber, season.Monitored); + var storedSeason = storedSeries.Seasons.SingleOrDefault(s => s.SeasonNumber == season.SeasonNumber); + + if (storedSeason != null && season.Monitored != storedSeason.Monitored) + { + _episodeService.SetEpisodeMonitoredBySeason(series.Id, season.SeasonNumber, season.Monitored); + } } } + // Never update AddOptions when updating a series, keep it the same as the existing stored series. + series.AddOptions = storedSeries.AddOptions; + var updatedSeries = _seriesRepository.Update(series); _eventAggregator.PublishEvent(new SeriesEditedEvent(updatedSeries, storedSeries));