using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Sorting;
using MediaBrowser.Model.Querying;
using System;
namespace MediaBrowser.Server.Implementations.Sorting
{
public class AirTimeComparer : IBaseItemComparer
{
///
/// Compares the specified x.
///
/// The x.
/// The y.
/// System.Int32.
public int Compare(BaseItem x, BaseItem y)
{
return DateTime.Compare(GetValue(x), GetValue(y));
}
///
/// Gets the value.
///
/// The x.
/// System.String.
private DateTime GetValue(BaseItem x)
{
var series = (x as Series) ?? x.FindParent();
DateTime result;
if (series != null && DateTime.TryParse(series.AirTime, out result))
{
return result;
}
return DateTime.MinValue;
}
///
/// Gets the name.
///
/// The name.
public string Name
{
get { return ItemSortBy.AirTime; }
}
}
}