public async Task <IActionResult> List(PagedLayingsForm form) { var page = await _laying.GetList(form); form.Total = await _laying.Count(form); return(View(new PagedViewModel <HbLaying, PagedLayingsForm>(page, form))); }
public async Task <int> Count(PagedLayingsForm form) { var query = _dc.Layings.Where(u => !u.IsDeleted) .Where(u => u.LayingDate > form.Start && u.LayingDate < form.End) .AsQueryable(); if (form.LotId.HasValue) { query = query.Where(u => u.LotId == form.LotId); } if (form.IncubatorId.HasValue) { query = query.Where(u => u.IncubatorId == form.IncubatorId); } return(await query.CountAsync()); }
public async Task <IEnumerable <HbLaying> > GetList(PagedLayingsForm form) { var query = _dc.Layings.Include(u => u.Lot) .Include(u => u.Incubator) .Where(u => !u.IsDeleted) .Where(u => u.LayingDate > form.Start && u.LayingDate < form.End) .AsQueryable(); if (form.LotId.HasValue) { query = query.Where(u => u.LotId == form.LotId); } if (form.IncubatorId.HasValue) { query = query.Where(u => u.IncubatorId == form.IncubatorId); } var layings = await query.OrderByDescending(u => u.Id) .Skip(form.Offset) .Take(form.Count) .ToArrayAsync(); return(layings.Select(_mapper.Map <HbLaying>).ToArray()); }