diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-25 01:34:50 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-25 01:34:50 -0500 |
| commit | a1a56557ece84d8b726a6c06b2620fa43ff22461 (patch) | |
| tree | a9b96eccbe5fd08c34174f5c5cff8e01ac822fea /MediaBrowser.Server.Implementations/TV | |
| parent | 67559378009062a26173888ad457d0c9116bfc9a (diff) | |
sync updates
Diffstat (limited to 'MediaBrowser.Server.Implementations/TV')
| -rw-r--r-- | MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs | 16 |
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(); |
