jellyfin/Emby.Server.Implementations/Sorting/SeriesSortNameComparer.cs

35 lines
1009 B
C#
Raw Normal View History

using System;
2019-01-12 20:41:08 +00:00
using MediaBrowser.Controller.Entities;
2013-09-13 20:45:27 +00:00
using MediaBrowser.Controller.Sorting;
using MediaBrowser.Model.Querying;
namespace Emby.Server.Implementations.Sorting
2013-09-13 20:45:27 +00:00
{
public class SeriesSortNameComparer : IBaseItemComparer
2013-09-13 20:45:27 +00:00
{
/// <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)
{
2016-03-24 20:27:44 +00:00
return string.Compare(GetValue(x), GetValue(y), StringComparison.CurrentCultureIgnoreCase);
2013-09-13 20:45:27 +00:00
}
private static string GetValue(BaseItem item)
2013-09-13 20:45:27 +00:00
{
2016-07-10 15:44:53 +00:00
var hasSeries = item as IHasSeries;
2013-09-13 20:45:27 +00:00
2017-05-05 17:55:38 +00:00
return hasSeries != null ? hasSeries.FindSeriesSortName() : null;
2013-09-13 20:45:27 +00:00
}
2019-01-12 20:41:08 +00:00
2013-09-13 20:45:27 +00:00
/// <summary>
/// Gets the name.
/// </summary>
/// <value>The name.</value>
public string Name => ItemSortBy.SeriesSortName;
2013-09-13 20:45:27 +00:00
}
}