public async Task <ProductsIndexViewModel> GetProducts(int pageIndex, int pageSize) { logger.LogInformation("GetProducts called"); var response = await productApi.ListProductsAsync( new ListProductsRequest { PageIndex = pageIndex, PageSize = pageSize } ); var vm = new ProductsIndexViewModel { Products = mapper.Map <List <ProductViewModel> >(response.Products), PaginationInfo = new PaginationInfoViewModel() { ActualPage = pageIndex, ItemsPerPage = response.Products.Count, TotalItems = response.TotalProducts, TotalPages = int.Parse(Math.Ceiling(((decimal)response.TotalProducts / pageSize)).ToString()) } }; vm.PaginationInfo.Next = (vm.PaginationInfo.ActualPage == vm.PaginationInfo.TotalPages - 1) ? "is-disabled" : ""; vm.PaginationInfo.Previous = (vm.PaginationInfo.ActualPage == 0) ? "is-disabled" : ""; return(vm); }