jellyfin/MediaBrowser.Server.Implementations/Sorting/CriticRatingComparer.cs

40 lines
1.0 KiB
C#
Raw Normal View History

2013-05-05 19:23:19 -07:00
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Sorting;
using MediaBrowser.Model.Querying;
namespace MediaBrowser.Server.Implementations.Sorting
{
/// <summary>
/// Class CriticRatingComparer
/// </summary>
public class CriticRatingComparer : 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)
{
2013-09-11 10:54:59 -07:00
return GetValue(x).CompareTo(GetValue(y));
}
private float GetValue(BaseItem x)
{
2013-11-06 09:06:16 -07:00
var hasCriticRating = x as IHasCriticRating;
return hasCriticRating == null ? 0 : hasCriticRating.CriticRating ?? 0;
2013-05-05 19:23:19 -07:00
}
/// <summary>
/// Gets the name.
/// </summary>
/// <value>The name.</value>
public string Name
{
get { return ItemSortBy.CriticRating; }
}
}
}