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