From 19b3add783fae40305676f7411d1b1eec2bc3d83 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Wed, 17 Jul 2013 08:41:32 -0700 Subject: [PATCH] SeriesStats are returned when fetching a single series SeriesStats are no longer wipred from UI on update --- NzbDrone.Api/Series/SeriesModule.cs | 32 ++++++++++++------- .../SeriesStats/SeriesStatisticsService.cs | 1 + 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/NzbDrone.Api/Series/SeriesModule.cs b/NzbDrone.Api/Series/SeriesModule.cs index b9d7c3fd2..29e90750c 100644 --- a/NzbDrone.Api/Series/SeriesModule.cs +++ b/NzbDrone.Api/Series/SeriesModule.cs @@ -75,6 +75,8 @@ namespace NzbDrone.Api.Series var resource = series.InjectTo(); MapCoversToLocal(resource); + LinkSeriesStatistics(resource, _seriesStatisticsService.SeriesStatistics()); + return resource; } @@ -83,15 +85,9 @@ namespace NzbDrone.Api.Series var seriesStats = _seriesStatisticsService.SeriesStatistics(); var seriesResources = ToListResource(_seriesService.GetAllSeries); - foreach (var s in seriesResources) + foreach (var resource in seriesResources) { - var stats = seriesStats.SingleOrDefault(ss => ss.SeriesId == s.Id); - if (stats == null) continue; - - s.EpisodeCount = stats.EpisodeCount; - s.EpisodeFileCount = stats.EpisodeFileCount; - s.SeasonCount = stats.SeasonCount; - s.NextAiring = stats.NextAiring; + LinkSeriesStatistics(resource, seriesStats); } MapCoversToLocal(seriesResources.ToArray()); @@ -99,8 +95,6 @@ namespace NzbDrone.Api.Series return seriesResources; } - - private SeriesResource AddSeries(SeriesResource seriesResource) { return ToResource(_seriesService.AddSeries, seriesResource); @@ -108,7 +102,11 @@ namespace NzbDrone.Api.Series private SeriesResource UpdateSeries(SeriesResource seriesResource) { - return ToResource(_seriesService.UpdateSeries, seriesResource); + var resource = ToResource(_seriesService.UpdateSeries, seriesResource); + MapCoversToLocal(resource); + LinkSeriesStatistics(resource, _seriesStatisticsService.SeriesStatistics()); + + return resource; } private void DeleteSeries(int id) @@ -124,6 +122,16 @@ namespace NzbDrone.Api.Series _coverMapper.ConvertToLocalUrls(seriesResource.Id, seriesResource.Images); } } - } + private void LinkSeriesStatistics(SeriesResource resource, List seriesStatistics) + { + var stats = seriesStatistics.SingleOrDefault(ss => ss.SeriesId == resource.Id); + if (stats == null) return; + + resource.EpisodeCount = stats.EpisodeCount; + resource.EpisodeFileCount = stats.EpisodeFileCount; + resource.SeasonCount = stats.SeasonCount; + resource.NextAiring = stats.NextAiring; + } + } } diff --git a/NzbDrone.Core/SeriesStats/SeriesStatisticsService.cs b/NzbDrone.Core/SeriesStats/SeriesStatisticsService.cs index a0c177a12..e54e449db 100644 --- a/NzbDrone.Core/SeriesStats/SeriesStatisticsService.cs +++ b/NzbDrone.Core/SeriesStats/SeriesStatisticsService.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; namespace NzbDrone.Core.SeriesStats {