aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/TV/Series.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities/TV/Series.cs')
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs26
1 files changed, 26 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs
index 420b3c3135..aa07ab3781 100644
--- a/MediaBrowser.Controller/Entities/TV/Series.cs
+++ b/MediaBrowser.Controller/Entities/TV/Series.cs
@@ -157,6 +157,32 @@ namespace MediaBrowser.Controller.Entities.TV
return GetSeasons(user, config.DisplayMissingEpisodes, config.DisplayUnairedEpisodes);
}
+ public override Task<QueryResult<BaseItem>> GetItems(InternalItemsQuery query)
+ {
+ var user = query.User;
+
+ Func<BaseItem, bool> filter = i => UserViewBuilder.Filter(i, user, query, UserDataManager, LibraryManager);
+
+ IEnumerable<BaseItem> items;
+
+ if (query.User == null)
+ {
+ items = query.Recursive
+ ? GetRecursiveChildren(filter)
+ : Children.Where(filter);
+ }
+ else
+ {
+ items = query.Recursive
+ ? GetRecursiveChildren(user, filter)
+ : GetSeasons(user).Where(filter);
+ }
+
+ var result = PostFilterAndSort(items, query);
+
+ return Task.FromResult(result);
+ }
+
public IEnumerable<Season> GetSeasons(User user, bool includeMissingSeasons, bool includeVirtualUnaired)
{
var seasons = base.GetChildren(user, true)