public Task <FilterResultModel <PurchaseOrderView> > Handle(GetPurchaseOrderListQuery request, CancellationToken cancellationToken) { var sortBy = request.SortBy.Trim() != "" ? request.SortBy : "DateAdded"; var sortDirection = (request.SortDirection.ToUpper() == "DESCENDING") ? true : false; FilterResultModel <PurchaseOrderView> result = new FilterResultModel <PurchaseOrderView> (); var purchaseTerm = _database.PurchaseOrder .Select(PurchaseOrderView.Projection) .Select(DynamicQueryHelper.GenerateSelectedColumns <PurchaseOrderView> (request.SelectedColumns)) .AsQueryable(); if (request.Filter.Count() > 0) { purchaseTerm = purchaseTerm .Where(DynamicQueryHelper .BuildWhere <PurchaseOrderView> (request.Filter)).AsQueryable(); } result.Count = purchaseTerm.Count(); var PageSize = (request.PageSize == 0) ? result.Count : request.PageSize; var PageNumber = (request.PageSize == 0) ? 1 : request.PageNumber; result.Items = purchaseTerm.OrderBy(sortBy, sortDirection) .Skip(PageNumber - 1) .Take(PageSize) .ToList(); return(Task.FromResult <FilterResultModel <PurchaseOrderView> > (result)); }
public async Task <IEnumerable <PurchaseOrderListView> > Handle(GetPurchaseOrderListQuery request, CancellationToken cancellationToken) { return(await _database.PurchaseOrder .Include(p => p.PurchaseOrderQuotation) .Include(p => p.StockBatch) .Select(PurchaseOrderListView.Projection) .ToListAsync()); }
public async Task <ActionResult <FilterResultModel <PurchaseOrderView> > > GetAllPurchaseOrders([FromBody] GetPurchaseOrderListQuery query) { var purchaseOrdersList = await _Mediator.Send(query); return(StatusCode(200, purchaseOrdersList)); }