public async Task <IActionResult> List(PagedPurchasesForm form) { var page = await _purchase.GetList(form); form.Total = await _purchase.Count(form); return(View(new PagedViewModel <HbPurchase, PagedPurchasesForm>(page, form))); }
public async Task <int> Count(PagedPurchasesForm form) { var query = _dc.Purchases .Where(u => !u.IsDeleted) .Where(u => u.PurchaseDate > form.Start && u.PurchaseDate < form.End) .AsQueryable(); if (form.LotId.HasValue) { query = query.Where(u => u.LotId == form.LotId); } return(await query.CountAsync()); }
public async Task <IEnumerable <HbPurchase> > GetList(PagedPurchasesForm form) { var query = _dc.Purchases.Include(u => u.Lot) .Where(u => !u.IsDeleted) .Where(u => u.PurchaseDate > form.Start && u.PurchaseDate < form.End) .AsQueryable(); if (form.LotId.HasValue) { query = query.Where(u => u.LotId == form.LotId); } var purchases = await query.OrderByDescending(u => u.Id) .Skip(form.Offset) .Take(form.Count) .ToArrayAsync(); return(purchases.Select(_mapper.Map <HbPurchase>).ToArray()); }