瀏覽代碼

update db querying

Luke Pulverenti 9 年之前
父節點
當前提交
1a00ac0bbe

+ 2 - 16
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;
         }
 

+ 2 - 16
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;
         }
     }

+ 6 - 6
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;
         }
 

+ 1 - 0
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; }
 

+ 15 - 0
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;
         }