diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sorting')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Sorting/AlbumArtistComparer.cs | 26 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Sorting/NameComparer.cs | 33 |
2 files changed, 36 insertions, 23 deletions
diff --git a/MediaBrowser.Server.Implementations/Sorting/AlbumArtistComparer.cs b/MediaBrowser.Server.Implementations/Sorting/AlbumArtistComparer.cs index 583280f0f..df8003dec 100644 --- a/MediaBrowser.Server.Implementations/Sorting/AlbumArtistComparer.cs +++ b/MediaBrowser.Server.Implementations/Sorting/AlbumArtistComparer.cs @@ -1,5 +1,4 @@ -using System.Linq; -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; @@ -30,28 +29,9 @@ namespace MediaBrowser.Server.Implementations.Sorting /// <returns>System.String.</returns> private string GetValue(BaseItem x) { - var audio = x as Audio; + var audio = x as IHasAlbumArtist; - if (audio != null) - { - return audio.AlbumArtist; - } - - var album = x as MusicAlbum; - - if (album != null) - { - var song = album.RecursiveChildren - .OfType<Audio>() - .FirstOrDefault(i => !string.IsNullOrEmpty(i.AlbumArtist)); - - if (song != null) - { - return song.AlbumArtist; - } - } - - return null; + return audio != null ? audio.AlbumArtist : null; } /// <summary> diff --git a/MediaBrowser.Server.Implementations/Sorting/NameComparer.cs b/MediaBrowser.Server.Implementations/Sorting/NameComparer.cs new file mode 100644 index 000000000..49f86c485 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Sorting/NameComparer.cs @@ -0,0 +1,33 @@ +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Sorting; +using MediaBrowser.Model.Querying; +using System; + +namespace MediaBrowser.Server.Implementations.Sorting +{ + /// <summary> + /// Class NameComparer + /// </summary> + public class NameComparer : 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 string.Compare(x.Name, y.Name, StringComparison.CurrentCultureIgnoreCase); + } + + /// <summary> + /// Gets the name. + /// </summary> + /// <value>The name.</value> + public string Name + { + get { return ItemSortBy.Name; } + } + } +} |
