aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-07-23 19:01:40 -0400
committerGitHub <noreply@github.com>2016-07-23 19:01:40 -0400
commit4bf05726c005471747f6d9a166a5f30f43a46427 (patch)
treea9fca0b151882a003e89cc92214a725168534315
parenta0c310e0f3abdd6bbe8ab27218ac2bde6609818d (diff)
parent98bb84e82a77685f105c9e10588c30ee65e1fd68 (diff)
Merge pull request #1979 from MediaBrowser/dev
Dev
-rw-r--r--MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs21
1 files changed, 19 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
index c2a4339f0..ddc1de9cd 100644
--- a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
+++ b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
@@ -119,12 +119,29 @@ namespace MediaBrowser.Server.Implementations.TV
// Avoid implicitly captured closure
var currentUser = user;
- return series
+ var allNextUp = series
.Select(i => GetNextUp(i, currentUser))
+ .Where(i => i.Item1 != null)
// Include if an episode was found, and either the series is not unwatched or the specific series was requested
- .Where(i => i.Item1 != null && (!i.Item3 || !string.IsNullOrWhiteSpace(request.SeriesId)))
.OrderByDescending(i => i.Item2)
.ThenByDescending(i => i.Item1.PremiereDate ?? DateTime.MinValue)
+ .ToList();
+
+ // If viewing all next up for all series, remove first episodes
+ if (string.IsNullOrWhiteSpace(request.SeriesId))
+ {
+ var withoutFirstEpisode = allNextUp
+ .Where(i => !i.Item3)
+ .ToList();
+
+ // But if that returns empty, keep those first episodes (avoid completely empty view)
+ if (withoutFirstEpisode.Count > 0)
+ {
+ allNextUp = withoutFirstEpisode;
+ }
+ }
+
+ return allNextUp
.Select(i => i.Item1)
.Take(request.Limit ?? int.MaxValue);
}