init
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using DTS.Common.Enums.GroupTemplates;
|
||||
|
||||
namespace DTS.Common.Interface.GroupTemplate
|
||||
{
|
||||
public interface IGroupTemplateChannel
|
||||
{
|
||||
bool Custom { get; }
|
||||
int DisplayOrder { get; set; }
|
||||
string NameOfTheChannel { get; set; }
|
||||
string Name { get; }
|
||||
bool Required { get; set; }
|
||||
bool Filter(string term);
|
||||
string ISOCode { get; }
|
||||
}
|
||||
|
||||
public class GroupTemplateChannelComparer : IComparer<IGroupTemplateChannel>
|
||||
{
|
||||
public GroupTemplateChannelFields SortField { get; set; }
|
||||
public bool Ascending { get; set; }
|
||||
public int Compare(IGroupTemplateChannel x, IGroupTemplateChannel y)
|
||||
{
|
||||
if (x == y)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (null == x)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (null == y)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
var left = x;
|
||||
var right = y;
|
||||
if (!Ascending) { left = y; right = x; }
|
||||
switch (SortField)
|
||||
{
|
||||
case GroupTemplateChannelFields.Required:
|
||||
return left.Required.CompareTo(right.Required);
|
||||
case GroupTemplateChannelFields.Name:
|
||||
return String.Compare(left.Name, right.Name, StringComparison.Ordinal);
|
||||
case GroupTemplateChannelFields.ISOCode:
|
||||
return String.Compare(left.ISOCode, right.ISOCode, StringComparison.Ordinal);
|
||||
case GroupTemplateChannelFields.Custom:
|
||||
return left.Custom.CompareTo(right.Custom);
|
||||
case GroupTemplateChannelFields.DisplayOrder:
|
||||
return left.DisplayOrder.CompareTo(right.DisplayOrder);
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user