public Task <FilterResultModel <PurchaseOrderView> > Handle(GetShippedPurchaseOrdersListQuery 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
                               .Where(p => p.Status.ToUpper() == "SHIPPED")
                               .Include(p => p.PurchaseOrderQuotation)
                               .Include(p => p.StockBatch)
                               .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));
        }
Пример #2
0
 public async Task <IEnumerable <PurchaseOrderListView> > Handle(GetShippedPurchaseOrdersListQuery request, CancellationToken cancellationToken)
 {
     return(await _database.PurchaseOrder
            .Where(p => p.Status.ToUpper() == "SHIPPED")
            .Include(p => p.PurchaseOrderQuotation)
            .Include(p => p.StockBatch)
            .Select(PurchaseOrderListView.Projection)
            .ToListAsync());
 }
Пример #3
0
        public async Task <ActionResult <FilterResultModel <PurchaseOrderView> > > GetShippedPurchaseOrders([FromBody] GetShippedPurchaseOrdersListQuery query)
        {
            var shippedOrders = await _Mediator.Send(query);

            return(Ok(shippedOrders));
        }