diff --git a/MediaBrowser.Api/Reports/ReportsService.cs b/MediaBrowser.Api/Reports/ReportsService.cs index 59e9692350..4ff3dcf26a 100644 --- a/MediaBrowser.Api/Reports/ReportsService.cs +++ b/MediaBrowser.Api/Reports/ReportsService.cs @@ -259,7 +259,8 @@ namespace MediaBrowser.Api.Reports MaxPlayers = request.MaxPlayers, MinCommunityRating = request.MinCommunityRating, MinCriticRating = request.MinCriticRating, - ParentIndexNumber = request.ParentIndexNumber + ParentIndexNumber = request.ParentIndexNumber, + AiredDuringSeason = request.AiredDuringSeason }; if (!string.IsNullOrWhiteSpace(request.Ids)) @@ -487,21 +488,6 @@ namespace MediaBrowser.Api.Reports } } - if (request.AiredDuringSeason.HasValue) - { - var episode = i as Episode; - - if (episode == null) - { - return false; - } - - if (!Series.FilterEpisodesBySeason(new[] { episode }, request.AiredDuringSeason.Value, true).Any()) - { - return false; - } - } - return true; } diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index a48fcbc93a..c54f259733 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -232,7 +232,8 @@ namespace MediaBrowser.Api.UserLibrary MinCommunityRating = request.MinCommunityRating, MinCriticRating = request.MinCriticRating, ParentId = string.IsNullOrWhiteSpace(request.ParentId) ? (Guid?)null : new Guid(request.ParentId), - ParentIndexNumber = request.ParentIndexNumber + ParentIndexNumber = request.ParentIndexNumber, + AiredDuringSeason = request.AiredDuringSeason }; if (!string.IsNullOrWhiteSpace(request.Ids)) @@ -445,21 +446,6 @@ namespace MediaBrowser.Api.UserLibrary } } - if (request.AiredDuringSeason.HasValue) - { - var episode = i as Episode; - - if (episode == null) - { - return false; - } - - if (!Series.FilterEpisodesBySeason(new[] { episode }, request.AiredDuringSeason.Value, true).Any()) - { - return false; - } - } - return true; } } diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 5a5fe2a9f1..faa5f7dc51 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -1120,12 +1120,6 @@ namespace MediaBrowser.Controller.Entities return true; } - if (query.MinCommunityRating.HasValue) - { - Logger.Debug("Query requires post-filtering due to MinCommunityRating"); - return true; - } - if (query.MinIndexNumber.HasValue) { Logger.Debug("Query requires post-filtering due to MinIndexNumber"); @@ -1204,6 +1198,12 @@ namespace MediaBrowser.Controller.Entities return true; } + if (query.AiredDuringSeason.HasValue) + { + Logger.Debug("Query requires post-filtering due to AiredDuringSeason"); + return true; + } + return false; } diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs index e2b393d4d9..2f98ac70df 100644 --- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs +++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs @@ -97,6 +97,7 @@ namespace MediaBrowser.Controller.Entities public int? MinPlayers { get; set; } public int? MaxPlayers { get; set; } public int? MinIndexNumber { get; set; } + public int? AiredDuringSeason { get; set; } public double? MinCriticRating { get; set; } public double? MinCommunityRating { get; set; } diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index c33212619b..645e6e37d2 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -1737,6 +1737,21 @@ namespace MediaBrowser.Controller.Entities } } + if (query.AiredDuringSeason.HasValue) + { + var episode = item as Episode; + + if (episode == null) + { + return false; + } + + if (!Series.FilterEpisodesBySeason(new[] { episode }, query.AiredDuringSeason.Value, true).Any()) + { + return false; + } + } + return true; }