aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/Folder.cs
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-03-09 23:22:36 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-03-09 23:22:36 -0500
commit31d079f1baea895b5cb0f1a737140ab94dc9a4fe (patch)
tree1ed702bbed6edb1cc7f505c92e42a4263b1f8ed3 /MediaBrowser.Controller/Entities/Folder.cs
parent913cb3c564e58dd440dbf3af81f38aad68c1ac2a (diff)
unified the two sorting api's
Diffstat (limited to 'MediaBrowser.Controller/Entities/Folder.cs')
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs73
1 files changed, 3 insertions, 70 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index c6f479029..ef34742df 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -13,7 +13,6 @@ using System.Linq;
using System.Runtime.Serialization;
using System.Threading;
using System.Threading.Tasks;
-using SortOrder = MediaBrowser.Controller.Sorting.SortOrder;
namespace MediaBrowser.Controller.Entities
{
@@ -177,63 +176,6 @@ namespace MediaBrowser.Controller.Entities
}
}
- #region Sorting
-
- /// <summary>
- /// The _sort by options
- /// </summary>
- private Dictionary<string, IComparer<BaseItem>> _sortByOptions;
- /// <summary>
- /// Dictionary of sort options - consists of a display value (localized) and an IComparer of BaseItem
- /// </summary>
- /// <value>The sort by options.</value>
- [IgnoreDataMember]
- public Dictionary<string, IComparer<BaseItem>> SortByOptions
- {
- get { return _sortByOptions ?? (_sortByOptions = GetSortByOptions()); }
- }
-
- /// <summary>
- /// Returns the valid set of sort by options for this folder type.
- /// Override or extend to modify.
- /// </summary>
- /// <returns>Dictionary{System.StringIComparer{BaseItem}}.</returns>
- protected virtual Dictionary<string, IComparer<BaseItem>> GetSortByOptions()
- {
- return new Dictionary<string, IComparer<BaseItem>> {
- {LocalizedStrings.Instance.GetString("NameDispPref"), new BaseItemComparer(SortOrder.Name, Logger)},
- {LocalizedStrings.Instance.GetString("DateDispPref"), new BaseItemComparer(SortOrder.Date, Logger)},
- {LocalizedStrings.Instance.GetString("RatingDispPref"), new BaseItemComparer(SortOrder.Rating, Logger)},
- {LocalizedStrings.Instance.GetString("RuntimeDispPref"), new BaseItemComparer(SortOrder.Runtime, Logger)},
- {LocalizedStrings.Instance.GetString("YearDispPref"), new BaseItemComparer(SortOrder.Year, Logger)}
- };
-
- }
-
- /// <summary>
- /// Get a sorting comparer by name
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns>IComparer{BaseItem}.</returns>
- private IComparer<BaseItem> GetSortingFunction(string name)
- {
- IComparer<BaseItem> sorting;
- SortByOptions.TryGetValue(name ?? "", out sorting);
- return sorting ?? new BaseItemComparer(SortOrder.Name, Logger);
- }
-
- /// <summary>
- /// Get the list of sort by choices for this folder (localized).
- /// </summary>
- /// <value>The sort by option strings.</value>
- [IgnoreDataMember]
- public IEnumerable<string> SortByOptionStrings
- {
- get { return SortByOptions.Keys; }
- }
-
- #endregion
-
#region Indexing
/// <summary>
@@ -877,11 +819,9 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <param name="user">The user.</param>
/// <param name="indexBy">The index by.</param>
- /// <param name="sortBy">The sort by.</param>
- /// <param name="sortOrder">The sort order.</param>
/// <returns>IEnumerable{BaseItem}.</returns>
/// <exception cref="System.ArgumentNullException"></exception>
- public virtual IEnumerable<BaseItem> GetChildren(User user, string indexBy = null, string sortBy = null, Model.Entities.SortOrder? sortOrder = null)
+ public virtual IEnumerable<BaseItem> GetChildren(User user, string indexBy = null)
{
if (user == null)
{
@@ -889,7 +829,7 @@ namespace MediaBrowser.Controller.Entities
}
//the true root should return our users root folder children
- if (IsPhysicalRoot) return user.RootFolder.GetChildren(user, indexBy, sortBy, sortOrder);
+ if (IsPhysicalRoot) return user.RootFolder.GetChildren(user, indexBy);
IEnumerable<BaseItem> result = null;
@@ -904,14 +844,7 @@ namespace MediaBrowser.Controller.Entities
result = ActualChildren.Where(c => c.IsVisible(user));
}
- if (string.IsNullOrEmpty(sortBy))
- {
- return result;
- }
-
- return sortOrder.HasValue && sortOrder.Value == Model.Entities.SortOrder.Descending
- ? result.OrderByDescending(i => i, GetSortingFunction(sortBy))
- : result.OrderBy(i => i, GetSortingFunction(sortBy));
+ return result;
}
/// <summary>