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,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using NzbDrone.Api.Episodes;
using NzbDrone.Api.Mapping;
using NzbDrone.Common;
using NzbDrone.Core.Tv;
namespace NzbDrone.Api.Calendar
@ -9,11 +11,13 @@ namespace NzbDrone.Api.Calendar
public class CalendarModule : NzbDroneRestModule<EpisodeResource>
{
private readonly IEpisodeService _episodeService;
private readonly SeriesService _seriesService;
public CalendarModule(IEpisodeService episodeService)
public CalendarModule(IEpisodeService episodeService, SeriesService seriesService)
: base("/calendar")
{
_episodeService = episodeService;
_seriesService = seriesService;
GetResourceAll = GetPaged;
}
@ -27,12 +31,15 @@ namespace NzbDrone.Api.Calendar
var queryEnd = Request.Query.End;
if (queryStart.HasValue) start = DateTime.Parse(queryStart.Value);
if (queryEnd.HasValue) end = DateTime.Parse(queryEnd.Value);
var episodes = _episodeService.EpisodesBetweenDates(start, end);
var episodeResources = ToListResource(() => episodes);
return ToListResource(() => episodes);
var series = _seriesService.GetSeriesInList(episodeResources.SelectDistinct(e => e.SeriesId));
episodeResources.Join(series, episode => episode.SeriesId, s => s.Id, episode => episode.Series);
return episodeResources;
}
}
}