|
public int Compare(object x, object y)
{
DateTime dateX = DateTime.MaxValue;
DateTime dateY = DateTime.MaxValue;
if (x.GetType() == typeof(OrderInfo))
{
dateX = ((OrderInfo)x).ShippingDate;
dateY = ((OrderInfo)y).ShippingDate;
}
else if (x.GetType() == typeof(Group))
{
dateX = DateTime.ParseExact(((Group)x).Key.ToString(), "dd.mm.yyyy", CultureInfo.InvariantCulture);
dateY = DateTime.ParseExact(((Group)y).Key.ToString(), "dd.mm.yyyy", CultureInfo.InvariantCulture);
}
else
{
dateX = (DateTime)x;
dateY = (DateTime)y;
}
if (DateTime.Compare(dateX, dateY) == 0)
return 0;
if (DateTime.Compare(dateX, dateY) >= 0)
return SortDirection == Syncfusion.Data.ListSortDirection.Ascending ? 1 : -1;
else
return SortDirection == Syncfusion.Data.ListSortDirection.Ascending ? -1 : 1;
} |