Beispiel #1
0
        public async Task <IEnumerable <Order> > GetOrderListAsync(SortingCriterion criterion)
        {
            IQueryable <Order> orders = _db.Orders;

            await Task.Run(() =>
            {
                orders = ApplySorting(orders, criterion);
                orders = orders.GetPage(criterion.PageNumber, criterion.PageSize);
            });

            return(orders);
        }
Beispiel #2
0
        private IQueryable <Order> ApplySorting(IQueryable <Order> orders, SortingCriterion criterion)
        {
            switch (criterion.Sorting)
            {
            case Sorting.Newer:
                return(orders.OrderBy(x => x.CreationDate));

            case Sorting.Older:
                return(orders.OrderByDescending(x => x.CreationDate));

            default:
                return(orders);
            }
        }