public async Task <PagedResult <SizeVm> > GetSizesPagings(GetSizePagingRequest request) { //1. Select join var query = from p in _context.productSize select new { p }; //2. filter if (!string.IsNullOrEmpty(request.Keyword)) { query = query.Where(x => x.p.sizeName.Contains(request.Keyword)); } //3. Paging int totalRow = await query.CountAsync(); var data = await query.Skip((request.PageIndex - 1) *request.PageSize) .Take(request.PageSize) .Select(x => new SizeVm() { IdSize = x.p.idSize, Name = x.p.sizeName, }).ToListAsync(); //4. Select and projection var pagedResult = new PagedResult <SizeVm>() { TotalRecords = totalRow, PageSize = request.PageSize, PageIndex = request.PageIndex, Items = data }; return(pagedResult); }
public async Task <PagedResult <SizeVm> > GetSizesPagings(GetSizePagingRequest request) { var data = await GetAsync <PagedResult <SizeVm> >( $"/api/sizes/paging?pageIndex={request.PageIndex}" + $"&pageSize={request.PageSize}" + $"&keyword={request.Keyword}&categoryId={request.SizeId}"); return(data); }
public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 10) { var languageId = HttpContext.Session.GetString(SystemConstants.AppSettings.DefaultLanguageId); var sessions = HttpContext.Session.GetString("Token"); var request = new GetSizePagingRequest() { Keyword = keyword, PageIndex = pageIndex, PageSize = pageSize, }; var data = await _sizeApiClient.GetSizesPagings(request); ViewBag.Keyword = keyword; if (TempData["result"] != null) { ViewBag.SuccessMsg = TempData["result"]; } return(View(data)); }
public async Task <IActionResult> GetAllPaging([FromQuery] GetSizePagingRequest request) { var sizes = await _sizeService.GetSizesPagings(request); return(Ok(sizes)); }