public async Task <IActionResult> Search(int pageNumber, int onPage) { var paginationPattern = new AvailableTariffForUpgradePaginationPattern { PageNumber = pageNumber, OnPage = onPage }; PaginationResult <AvailableTariffForUpgrade> searchResult = await availableTariffForUpgradeRepository.Serach(paginationPattern); return(Ok(new PaginationResult <AvailableTariffForUpgradeDto> { Items = searchResult.Items.Map(), TotalCount = searchResult.TotalCount, })); }
public async Task <PaginationResult <AvailableTariffForUpgrade> > Serach(AvailableTariffForUpgradePaginationPattern searchPattern) { IQueryable <AvailableTariffForUpgrade> query = _ctx.AvailableTariffForUpgrades.AsQueryable(); int totalCount = query.Count(); query = query.OrderByDescending(x => x.Id); query = query.Skip(searchPattern.Skip()).Take(searchPattern.Take()); return(new PaginationResult <AvailableTariffForUpgrade> { Items = await query.ToListAsync(), TotalCount = totalCount }); }