aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/TV
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-01-25 01:34:50 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-01-25 01:34:50 -0500
commita1a56557ece84d8b726a6c06b2620fa43ff22461 (patch)
treea9b96eccbe5fd08c34174f5c5cff8e01ac822fea /MediaBrowser.Server.Implementations/TV
parent67559378009062a26173888ad457d0c9116bfc9a (diff)
sync updates
Diffstat (limited to 'MediaBrowser.Server.Implementations/TV')
-rw-r--r--MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs16
1 files changed, 9 insertions, 7 deletions
diff --git a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
index 8c21727a4b..11dfb47916 100644
--- a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
+++ b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
@@ -36,8 +36,8 @@ namespace MediaBrowser.Server.Implementations.TV
? new string[] { }
: new[] { request.ParentId };
- var items = GetAllLibraryItems(user, parentIds)
- .OfType<Series>();
+ var items = GetAllLibraryItems(user, parentIds, i => i is Series)
+ .Cast<Series>();
// Avoid implicitly captured closure
var episodes = GetNextUpEpisodes(request, user, items);
@@ -54,8 +54,9 @@ namespace MediaBrowser.Server.Implementations.TV
throw new ArgumentException("User not found");
}
- var items = parentsFolders.SelectMany(i => i.GetRecursiveChildren(user))
- .OfType<Series>();
+ var items = parentsFolders
+ .SelectMany(i => i.GetRecursiveChildren(user, s => s is Series))
+ .Cast<Series>();
// Avoid implicitly captured closure
var episodes = GetNextUpEpisodes(request, user, items);
@@ -63,7 +64,7 @@ namespace MediaBrowser.Server.Implementations.TV
return GetResult(episodes, null, request);
}
- private IEnumerable<BaseItem> GetAllLibraryItems(User user, string[] parentIds)
+ private IEnumerable<BaseItem> GetAllLibraryItems(User user, string[] parentIds, Func<BaseItem,bool> filter)
{
if (parentIds.Length > 0)
{
@@ -71,7 +72,7 @@ namespace MediaBrowser.Server.Implementations.TV
{
var folder = (Folder)_libraryManager.GetItemById(new Guid(i));
- return folder.GetRecursiveChildren(user);
+ return folder.GetRecursiveChildren(user, filter);
});
}
@@ -81,7 +82,7 @@ namespace MediaBrowser.Server.Implementations.TV
throw new ArgumentException("User not found");
}
- return user.RootFolder.GetRecursiveChildren(user);
+ return user.RootFolder.GetRecursiveChildren(user, filter);
}
public IEnumerable<Episode> GetNextUpEpisodes(NextUpQuery request, User user, IEnumerable<Series> series)
@@ -126,6 +127,7 @@ namespace MediaBrowser.Server.Implementations.TV
{
// Get them in display order, then reverse
var allEpisodes = series.GetSeasons(user, true, true)
+ .Where(i => !i.IndexNumber.HasValue || i.IndexNumber.Value != 0)
.SelectMany(i => i.GetEpisodes(user, true, true))
.Reverse()
.ToList();