diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-12-12 03:53:25 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-12-12 03:53:25 -0500 |
| commit | c2d0fd99852aae31379b89591b538d075743362f (patch) | |
| tree | bfd9cfd47667bdf35668a9751cc82a56ac609282 /Emby.Server.Implementations/TV | |
| parent | 1aff48b93b72fe7d418b4798f504bd0d145f44e8 (diff) | |
update season queries
Diffstat (limited to 'Emby.Server.Implementations/TV')
| -rw-r--r-- | Emby.Server.Implementations/TV/TVSeriesManager.cs | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/Emby.Server.Implementations/TV/TVSeriesManager.cs b/Emby.Server.Implementations/TV/TVSeriesManager.cs index 88d224525..363fe5593 100644 --- a/Emby.Server.Implementations/TV/TVSeriesManager.cs +++ b/Emby.Server.Implementations/TV/TVSeriesManager.cs @@ -58,7 +58,8 @@ namespace Emby.Server.Implementations.TV var items = _libraryManager.GetItemList(new InternalItemsQuery(user) { IncludeItemTypes = new[] { typeof(Series).Name }, - SortOrder = SortOrder.Ascending, + SortBy = new[] { ItemSortBy.SeriesDatePlayed }, + SortOrder = SortOrder.Descending, PresentationUniqueKey = presentationUniqueKey, Limit = limit, ParentId = parentIdGuid, @@ -71,7 +72,7 @@ namespace Emby.Server.Implementations.TV } } - }).Cast<Series>(); + }).Cast<Series>().Select(GetUniqueSeriesKey); // Avoid implicitly captured closure var episodes = GetNextUpEpisodes(request, user, items); @@ -109,19 +110,20 @@ namespace Emby.Server.Implementations.TV var items = _libraryManager.GetItemList(new InternalItemsQuery(user) { IncludeItemTypes = new[] { typeof(Series).Name }, - SortOrder = SortOrder.Ascending, + SortBy = new[] { ItemSortBy.SeriesDatePlayed }, + SortOrder = SortOrder.Descending, PresentationUniqueKey = presentationUniqueKey, Limit = limit, DtoOptions = new MediaBrowser.Controller.Dto.DtoOptions { Fields = new List<ItemFields> { - + }, EnableImages = false } - }, parentsFolders.Cast<BaseItem>().ToList()).Cast<Series>(); + }, parentsFolders.Cast<BaseItem>().ToList()).Cast<Series>().Select(GetUniqueSeriesKey); // Avoid implicitly captured closure var episodes = GetNextUpEpisodes(request, user, items); @@ -129,15 +131,15 @@ namespace Emby.Server.Implementations.TV return GetResult(episodes, null, request); } - public IEnumerable<Episode> GetNextUpEpisodes(NextUpQuery request, User user, IEnumerable<Series> series) + public IEnumerable<Episode> GetNextUpEpisodes(NextUpQuery request, User user, IEnumerable<string> seriesKeys) { // Avoid implicitly captured closure var currentUser = user; - var allNextUp = series - .Select(i => GetNextUp(GetUniqueSeriesKey(i), currentUser)) - // Include if an episode was found, and either the series is not unwatched or the specific series was requested - .OrderByDescending(i => i.Item1); + var allNextUp = seriesKeys + .Select(i => GetNextUp(i, currentUser)); + + //allNextUp = allNextUp.OrderByDescending(i => i.Item1); // If viewing all next up for all series, remove first episodes // But if that returns empty, keep those first episodes (avoid completely empty view) @@ -160,7 +162,6 @@ namespace Emby.Server.Implementations.TV return true; }) - .Take(request.Limit.HasValue ? (request.Limit.Value * 2) : int.MaxValue) .Select(i => i.Item2()) .Where(i => i != null) .Take(request.Limit ?? int.MaxValue); |
