예제 #1
0
        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)));
        }
예제 #2
0
        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());
        }
예제 #3
0
        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());
        }