浏览代码

Added budget as a sort order

Luke Pulverenti 12 年之前
父节点
当前提交
b789550a56

+ 1 - 1
MediaBrowser.Api/UserLibrary/ItemsService.cs

@@ -29,7 +29,7 @@ namespace MediaBrowser.Api.UserLibrary
         /// What to sort the results by
         /// </summary>
         /// <value>The sort by.</value>
-        [ApiMember(Name = "SortBy", Description = "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, CommunityRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Runtime", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
+        [ApiMember(Name = "SortBy", Description = "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Runtime", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
         public string SortBy { get; set; }
 
         /// <summary>

+ 1 - 1
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -567,7 +567,7 @@ namespace MediaBrowser.Controller.Entities
         /// Gets or sets the budget.
         /// </summary>
         /// <value>The budget.</value>
-        public double Budget { get; set; }
+        public double? Budget { get; set; }
 
         /// <summary>
         /// Gets or sets the production locations.

+ 4 - 0
MediaBrowser.Model/Querying/ItemSortBy.cs

@@ -19,6 +19,10 @@ namespace MediaBrowser.Model.Querying
         /// </summary>
         public const string Artist = "Artist";
         /// <summary>
+        /// The budget
+        /// </summary>
+        public const string Budget = "Budget";
+        /// <summary>
         /// The date created
         /// </summary>
         public const string DateCreated = "DateCreated";

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

@@ -160,6 +160,7 @@
     <Compile Include="Sorting\AlbumArtistComparer.cs" />
     <Compile Include="Sorting\AlbumComparer.cs" />
     <Compile Include="Sorting\ArtistComparer.cs" />
+    <Compile Include="Sorting\BudgetComparer.cs" />
     <Compile Include="Sorting\CommunityRatingComparer.cs" />
     <Compile Include="Sorting\DateCreatedComparer.cs" />
     <Compile Include="Sorting\DatePlayedComparer.cs" />

+ 29 - 0
MediaBrowser.Server.Implementations/Sorting/BudgetComparer.cs

@@ -0,0 +1,29 @@
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Sorting;
+using MediaBrowser.Model.Querying;
+
+namespace MediaBrowser.Server.Implementations.Sorting
+{
+    public class BudgetDateComparer : 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 (x.Budget ?? 0).CompareTo(y.Budget ?? 0);
+        }
+
+        /// <summary>
+        /// Gets the name.
+        /// </summary>
+        /// <value>The name.</value>
+        public string Name
+        {
+            get { return ItemSortBy.Budget; }
+        }
+    }
+}