public async Task <IActionResult> Pagination(int pageNumber, int onPage) { var searchPattern = new BillingSettingPaginationPattern(); searchPattern.PageNumber = pageNumber; searchPattern.OnPage = onPage; PaginationResult <BillingSetting> searchResult = await billingSettingRepository.Pagination(searchPattern); return(Ok(new PaginationResult <BillingSettingDto> { Items = searchResult.Items.Map(), TotalCount = searchResult.TotalCount, })); }
public async Task <PaginationResult <BillingSetting> > Pagination(BillingSettingPaginationPattern searchPattern) { IQueryable <BillingSetting> query = _ctx.BillingSettings.AsQueryable(); int totalCount = query.Count(); // sorting query = query.OrderByDescending(x => x.Id); // taking query = query.Skip(searchPattern.Skip()).Take(searchPattern.Take()); return(new PaginationResult <BillingSetting> { Items = await query.ToListAsync(), TotalCount = totalCount }); }