Пример #1
0
        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)));
        }
Пример #2
0
        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());
        }
Пример #3
0
        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());
        }