public async Task <IActionResult> GetProductSubcategories(Int32?pageSize = 10, Int32?pageNumber = 1) { var response = new ListResponse <ProductSubcategoryViewModel>(); try { // Get query var query = ProductionRepository.GetProductSubcategories(); // Set information for paging response.PageSize = (Int32)pageSize; response.PageNumber = (Int32)pageNumber; response.ItemsCount = await query.CountAsync(); // Retrieve items var list = await query .Paging((Int32)pageSize, (Int32)pageNumber) .ToListAsync(); // Set model for response response.Model = list.Select(item => item.ToViewModel()); response.Message = String.Format("Total of records: {0}", response.Model.Count()); } catch (Exception ex) { response.DidError = true; response.ErrorMessage = ex.Message; } return(response.ToHttpResponse()); }