SeriesSortNameComparer.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #nullable disable
  2. #pragma warning disable CS1591
  3. using System;
  4. using MediaBrowser.Controller.Entities;
  5. using MediaBrowser.Controller.Sorting;
  6. using MediaBrowser.Model.Querying;
  7. namespace Emby.Server.Implementations.Sorting
  8. {
  9. public class SeriesSortNameComparer : IBaseItemComparer
  10. {
  11. /// <summary>
  12. /// Gets the name.
  13. /// </summary>
  14. /// <value>The name.</value>
  15. public string Name => ItemSortBy.SeriesSortName;
  16. /// <summary>
  17. /// Compares the specified x.
  18. /// </summary>
  19. /// <param name="x">The x.</param>
  20. /// <param name="y">The y.</param>
  21. /// <returns>System.Int32.</returns>
  22. public int Compare(BaseItem x, BaseItem y)
  23. {
  24. return string.Compare(GetValue(x), GetValue(y), StringComparison.CurrentCultureIgnoreCase);
  25. }
  26. private static string GetValue(BaseItem item)
  27. {
  28. var hasSeries = item as IHasSeries;
  29. return hasSeries?.FindSeriesSortName();
  30. }
  31. }
  32. }