public async Task <IActionResult> ExecuteAsync(string all, PageOptions pageOptions, CancellationToken cancellationToken) { if (all == "1") { var zone = await zoneRepository.GetAll(cancellationToken); if (zone == null) { return(new NotFoundResult()); } return(new OkObjectResult(zone)); } var zones = await zoneRepository.GetPage(pageOptions.Page.Value, pageOptions.Count.Value, cancellationToken); if (zones == null) { return(new NotFoundResult()); } var(totalCount, totalPages) = await zoneRepository.GetTotalPages(pageOptions.Count.Value, cancellationToken); var zoneViewModels = zoneMapper.MapList(zones); var page = new PageResult <Zone>() { Count = pageOptions.Count.Value, Items = zoneViewModels, Page = pageOptions.Page.Value, TotalCount = totalCount, TotalPages = totalPages, }; return(new OkObjectResult(page)); }