public async Task <ApiResult <PagedResult <SupplierVm> > > GetUsersPaging(GetSupplierPagingRequest bundle) { var url = $"/api/supplier/paging?pageIndex=" + $"{bundle.PageIndex}&pageSize={bundle.PageSize}&keyword={bundle.Keyword}"; var result = await GetListAsync <SupplierVm>(url); return(result); }
public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 1) { var request = new GetSupplierPagingRequest() { Keyword = keyword, PageIndex = pageIndex, PageSize = pageSize }; var data = await _supplierApiClient.GetUsersPaging(request); ViewBag.Keyword = keyword; return(View(data.ResultObj)); }
public async Task <ApiResult <PagedResult <SupplierVm> > > GetUsersPaging(GetSupplierPagingRequest bundle) { IQueryable <Supplier> query = _context.Suppliers; if (!string.IsNullOrEmpty(bundle.Keyword)) { query = query.Where(c => c.Name.Contains(bundle.Keyword) || c.Code.Contains(bundle.Keyword)); } //3. Paging int totalRow = await query.CountAsync(); query = query.OrderByDescending(c => c.Id); var data = await query.Skip((bundle.PageIndex - 1) *bundle.PageSize) .Take(bundle.PageSize) .Select(x => new SupplierVm() { Id = x.Id, Code = x.Code, Tax = x.Tax, Name = x.Name, Phone = x.Phone, Email = x.Email, Address = x.Address }).ToListAsync(); //4. Select and projection var pagedResult = new PagedResult <SupplierVm>() { TotalRecords = totalRow, PageIndex = bundle.PageIndex, PageSize = bundle.PageSize, Items = data }; return(new ApiSuccessResult <PagedResult <SupplierVm> >(pagedResult)); }
public async Task <IActionResult> GetAllPaging([FromQuery] GetSupplierPagingRequest request) { var result = await _supplierService.GetUsersPaging(request); return(Ok(result)); }