Explorar o código

Added IsFolder sort order

Luke Pulverenti %!s(int64=11) %!d(string=hai) anos
pai
achega
4f53d2fd23

+ 1 - 1
MediaBrowser.Model/Querying/ItemSortBy.cs

@@ -70,6 +70,6 @@ namespace MediaBrowser.Model.Querying
         /// The critic rating
         /// </summary>
         public const string CriticRating = "CriticRating";
-
+        public const string IsFolder = "IsFolder";
     }
 }

+ 1 - 0
MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj

@@ -175,6 +175,7 @@
     <Compile Include="Sorting\CriticRatingComparer.cs" />
     <Compile Include="Sorting\DateCreatedComparer.cs" />
     <Compile Include="Sorting\DatePlayedComparer.cs" />
+    <Compile Include="Sorting\IsFolderComparer.cs" />
     <Compile Include="Sorting\OfficialRatingComparer.cs" />
     <Compile Include="Sorting\PlayCountComparer.cs" />
     <Compile Include="Sorting\PremiereDateComparer.cs" />

+ 39 - 0
MediaBrowser.Server.Implementations/Sorting/IsFolderComparer.cs

@@ -0,0 +1,39 @@
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Sorting;
+using MediaBrowser.Model.Querying;
+
+namespace MediaBrowser.Server.Implementations.Sorting
+{
+    public class IsFolderComparer : IBaseItemComparer
+    {
+        /// <summary>
+        /// Compares the specified x.
+        /// </summary>
+        /// <param name="x">The x.</param>
+        /// <param name="y">The y.</param>
+        /// <returns>System.Int32.</returns>
+        public int Compare(BaseItem x, BaseItem y)
+        {
+            return GetValue(x).CompareTo(GetValue(y));
+        }
+
+        /// <summary>
+        /// Gets the value.
+        /// </summary>
+        /// <param name="x">The x.</param>
+        /// <returns>System.String.</returns>
+        private int GetValue(BaseItem x)
+        {
+            return x.IsFolder ? 0 : 1;
+        }
+
+        /// <summary>
+        /// Gets the name.
+        /// </summary>
+        /// <value>The name.</value>
+        public string Name
+        {
+            get { return ItemSortBy.Album; }
+        }
+    }
+}