Example #1
0
        public int Compare(SysFileIf x, SysFileIf y, SortField field, SortDirectrion direction)
        {
            int result = 0;

            switch (field)
            {
            case SortField.Name:
                if (direction == SortDirectrion.Ascending)
                {
                    result = x.Name.CompareTo(y.Name);
                }
                else
                {
                    result = y.Name.CompareTo(x.Name);
                }
                break;

            case SortField.Type:
                if (direction == SortDirectrion.Ascending)
                {
                    result = x.Type.CompareTo(y.Type);
                }
                else
                {
                    result = y.Type.CompareTo(x.Type);
                }
                break;

            case SortField.Size:
                if (direction == SortDirectrion.Ascending)
                {
                    result = x.SizeValue.CompareTo(y.SizeValue);
                }
                else
                {
                    result = y.SizeValue.CompareTo(x.SizeValue);
                }
                break;

            case SortField.CreateTime:
                if (direction == SortDirectrion.Ascending)
                {
                    result = x.CreateDateTime.CompareTo(y.CreateDateTime);
                }
                else
                {
                    result = y.CreateDateTime.CompareTo(x.CreateDateTime);
                }
                break;

            case SortField.WriteTime:
                if (direction == SortDirectrion.Ascending)
                {
                    result = x.WriteDateTime.CompareTo(y.WriteDateTime);
                }
                else
                {
                    result = y.WriteDateTime.CompareTo(x.WriteDateTime);
                }
                break;
            }

            return(result);
        }
 public SysSorter(SortField sfield, SortDirectrion sDirect = SortDirectrion.Ascending)
 {
     this.field     = sfield;
     this.direction = sDirect;
 }