using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; namespace MediaBrowser.Server.Implementations.Sorting { class SeriesSortNameComparer : IBaseItemComparer { /// /// Compares the specified x. /// /// The x. /// The y. /// System.Int32. public int Compare(BaseItem x, BaseItem y) { return AlphanumComparator.CompareValues(GetValue(x), GetValue(y)); } private string GetValue(BaseItem item) { Series series = null; var season = item as Season; if (season != null) { series = season.Series; } var episode = item as Episode; if (episode != null) { series = episode.Series; } if (series == null) { series = item as Series; } return series != null ? series.SortName : null; } /// /// Gets the name. /// /// The name. public string Name { get { return ItemSortBy.SeriesSortName; } } } }