Calendar and Missing join series in API

This commit is contained in:
Mark McDowall 2013-06-03 20:59:24 -07:00
parent 2e3863895c
commit 047e53179d
5 changed files with 64 additions and 6 deletions

View file

@ -1,4 +1,6 @@
using NzbDrone.Api.Episodes;
using System.Linq;
using NzbDrone.Api.Episodes;
using NzbDrone.Common;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Tv;
@ -7,11 +9,13 @@ namespace NzbDrone.Api.Missing
public class MissingModule : NzbDroneRestModule<EpisodeResource>
{
private readonly IEpisodeService _episodeService;
private readonly SeriesService _seriesService;
public MissingModule(IEpisodeService episodeService)
public MissingModule(IEpisodeService episodeService, SeriesService seriesService)
:base("missing")
{
_episodeService = episodeService;
_seriesService = seriesService;
GetResourcePaged = GetMissingEpisodes;
}
@ -25,7 +29,12 @@ namespace NzbDrone.Api.Missing
SortDirection = pagingResource.SortDirection
};
return ApplyToPage(_episodeService.EpisodesWithoutFiles, pagingSpec);
var episodeResources = ApplyToPage(_episodeService.EpisodesWithoutFiles, pagingSpec);
var series = _seriesService.GetSeriesInList(episodeResources.Records.SelectDistinct(e => e.SeriesId));
episodeResources.Records.Join(series, episode => episode.SeriesId, s => s.Id, episode => episode.Series);
return episodeResources;
}
}
}