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