public async Task <IActionResult> Index(ShopOrdersSearchViewModel search) { var model = await _shopOrderRepository.OrderLoadAsync(search, this.CurrentPage, this.PageSize); this.TotalNumber = model.Item1; ViewBag.SearchModel = search; return(View(model.Item2)); }
public async Task <Tuple <int, List <ShopOrder> > > OrderLoadAsync(ShopOrdersSearchViewModel vm, int page = 0, int pageSize = 10) { var model = TableNoTracking.Where(a => !a.IsDeleted); model = model.WhereIf(vm.Id != null, a => a.Id == vm.Id); model = model.WhereIf(vm.Amount != null, a => a.Amount == vm.Amount); model = model.WhereIf(vm.Status != null, a => a.Status == vm.Status); model = model.WhereIf(vm.IsSuccessed != null, a => a.IsSuccessed == vm.IsSuccessed); var count = model.Count(); model = model.Include(a => a.Users); model = model.OrderByDescending(a => a.CreateDate).ThenByDescending(a => a.Id); return(new Tuple <int, List <ShopOrder> >(count, await model.Skip((page - 1) * pageSize).Take(pageSize).ToListAsync())); }