public CustomerPaggingFilterDto(
     CustomerOrderBy orderBy,
     OrderType orderType,
     int skip,
     int take)
     : base(skip, take)
 {
     OrderBy   = orderBy;
     OrderType = orderType;
 }
예제 #2
0
        public static IQueryable <Customer> OrderCustomersBy(
            this IQueryable <Customer> queriableCustomers,
            CustomerOrderBy orderBy,
            OrderType orderType)
        {
            switch (orderBy)
            {
            case CustomerOrderBy.SimpleOrder:
                if (orderType == OrderType.Asc)
                {
                    return(queriableCustomers.OrderBy(c => c.Id));
                }
                else
                {
                    return(queriableCustomers.OrderByDescending(c => c.Id));
                }

            case CustomerOrderBy.FirstName:
                if (orderType == OrderType.Asc)
                {
                    return(queriableCustomers.OrderBy(c => c.FirstName));
                }
                else
                {
                    return(queriableCustomers.OrderByDescending(c => c.FirstName));
                }

            case CustomerOrderBy.LastName:
                if (orderType == OrderType.Asc)
                {
                    return(queriableCustomers.OrderBy(c => c.LastName));
                }
                else
                {
                    return(queriableCustomers.OrderByDescending(c => c.LastName));
                }

            default:
                throw new ArgumentOutOfRangeException($"Argument {nameof(CustomerOrderBy)} out of range, don't expect {orderBy.ToString()}");
            }
        }