Beispiel #1
0
        public Task <FilterResultModel <CustomerOrderInvoiceList> > Handle(GetCustomerOrderInvoiceListQuery request, CancellationToken cancellationToken)
        {
            var sortBy        = request.SortBy.Trim() != "" ? request.SortBy : "CustomerName";
            var sortDirection = (request.SortDirection.ToUpper() == "DESCENDING") ? false : true;

            FilterResultModel <CustomerOrderInvoiceList> result = new FilterResultModel <CustomerOrderInvoiceList> ();
            var invoice = _database.Invoice
                          .Select(CustomerOrderInvoiceList.Projection)
                          .Select(DynamicQueryHelper.GenerateSelectedColumns <CustomerOrderInvoiceList> (request.SelectedColumns))
                          .AsQueryable();

            if (request.Filter.Count() > 0)
            {
                invoice = invoice
                          .Where(DynamicQueryHelper
                                 .BuildWhere <CustomerOrderInvoiceList> (request.Filter)).AsQueryable();
            }

            result.Count = invoice.Count();

            var PageSize   = (request.PageSize == 0) ? result.Count : request.PageSize;
            var PageNumber = (request.PageSize == 0) ? 1 : request.PageNumber;

            result.Items = invoice.OrderBy(sortBy, sortDirection)
                           .Skip(PageNumber - 1)
                           .Take(PageSize)
                           .ToList();

            return(Task.FromResult <FilterResultModel <CustomerOrderInvoiceList> > (result));
        }
        public async Task<ActionResult<FilterResultModel<CustomerOrderInvoiceList>>> GetAllCustomerOrderInvoicess ([FromBody] GetCustomerOrderInvoiceListQuery query) {

            var CustomerOrders = await _Mediator.Send (query);

            return StatusCode (200, CustomerOrders);

        }