2
0
JPVenson 22 цаг өмнө
parent
commit
2aa39226c6

+ 4 - 1
MediaBrowser.Controller/Entities/Folder.cs

@@ -973,7 +973,10 @@ namespace MediaBrowser.Controller.Entities
                 {
                     DisplayAlbumFolders = query.DisplayAlbumFolders,
                     Limit = query.Limit,
-                    StartIndex = query.StartIndex
+                    StartIndex = query.StartIndex,
+                    NameStartsWith = query.NameStartsWith,
+                    NameStartsWithOrGreater = query.NameStartsWithOrGreater,
+                    NameLessThan = query.NameLessThan
                 };
 
                 items = GetChildren(user, true, out totalItemCount, childQuery).Where(filter);

+ 17 - 0
MediaBrowser.Controller/Entities/UserViewBuilder.cs

@@ -472,6 +472,23 @@ namespace MediaBrowser.Controller.Entities
 
         public static bool Filter(BaseItem item, User user, InternalItemsQuery query, IUserDataManager userDataManager, ILibraryManager libraryManager)
         {
+            if (!string.IsNullOrEmpty(query.NameStartsWith) && !item.SortName.StartsWith(query.NameStartsWith, StringComparison.InvariantCultureIgnoreCase))
+            {
+                return false;
+            }
+
+#pragma warning disable CA1309 // Use ordinal string comparison
+            if (!string.IsNullOrEmpty(query.NameStartsWithOrGreater) && string.Compare(query.NameStartsWithOrGreater, item.SortName, StringComparison.InvariantCultureIgnoreCase) == 1)
+            {
+                return false;
+            }
+
+            if (!string.IsNullOrEmpty(query.NameLessThan) && string.Compare(query.NameLessThan, item.SortName, StringComparison.InvariantCultureIgnoreCase) != 1)
+#pragma warning restore CA1309 // Use ordinal string comparison
+            {
+                return false;
+            }
+
             if (query.MediaTypes.Length > 0 && !query.MediaTypes.Contains(item.MediaType))
             {
                 return false;