Ejemplo n.º 1
0
        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()));
        }