浏览代码

fix include/exclude item type queries

Luke Pulverenti 12 年之前
父节点
当前提交
44ff7167f0
共有 1 个文件被更改,包括 14 次插入0 次删除
  1. 14 0
      MediaBrowser.Api/UserLibrary/ItemsService.cs

+ 14 - 0
MediaBrowser.Api/UserLibrary/ItemsService.cs

@@ -357,6 +357,20 @@ namespace MediaBrowser.Api.UserLibrary
         /// <returns>IEnumerable{BaseItem}.</returns>
         /// <returns>IEnumerable{BaseItem}.</returns>
         internal static IEnumerable<BaseItem> ApplyAdditionalFilters(GetItems request, IEnumerable<BaseItem> items)
         internal static IEnumerable<BaseItem> ApplyAdditionalFilters(GetItems request, IEnumerable<BaseItem> items)
         {
         {
+            // Exclude item types
+            if (!string.IsNullOrEmpty(request.ExcludeItemTypes))
+            {
+                var vals = request.ExcludeItemTypes.Split(',');
+                items = items.Where(f => !vals.Contains(f.GetType().Name, StringComparer.OrdinalIgnoreCase));
+            }
+
+            // Include item types
+            if (!string.IsNullOrEmpty(request.IncludeItemTypes))
+            {
+                var vals = request.IncludeItemTypes.Split(',');
+                items = items.Where(f => vals.Contains(f.GetType().Name, StringComparer.OrdinalIgnoreCase));
+            }
+            
             // Filter by Series Status
             // Filter by Series Status
             if (!string.IsNullOrEmpty(request.SeriesStatus))
             if (!string.IsNullOrEmpty(request.SeriesStatus))
             {
             {