public static GetProductsByCategoryResponse CreateProductSearchResultsFrom( this IEnumerable<Product> productsMatchingRefinement, GetProductsByCategoryRequest request) { GetProductsByCategoryResponse productSearchResultView = new GetProductsByCategoryResponse(); IEnumerable<ProductTitle> productsFound = productsMatchingRefinement.Select(p => p.Title).Distinct(); productSearchResultView.SelectedCategory = request.CategoryId; productSearchResultView.NoOfTitlesFound = productsFound.Count(); productSearchResultView.TotalNumberOfPages = NoOfResultPagesGiven(request.NoOfResultsPerPage, productSearchResultView.NoOfTitlesFound); productSearchResultView.RefinementGroups = GenerateAvailableProductRefinementsFrom(productsFound); productSearchResultView.Products = CropProductListToSatisfyGivenIndex(request.Index, request.NoOfResultsPerPage, productsFound); return productSearchResultView; }
private ProductSearchResultView GetProductSearchResultViewFrom(GetProductsByCategoryResponse response) { ProductSearchResultView productSearchResultView = new ProductSearchResultView(); productSearchResultView.BasketSummary = base.GetBasketSummaryView(); productSearchResultView.Categories = base.GetCategories(); productSearchResultView.CurrentPage = response.CurrentPage; productSearchResultView.NoOfTitlesFound = response.NoOfTitlesFound; productSearchResultView.Products = response.Products; productSearchResultView.RefinementGroups = response.RefinementGroups; productSearchResultView.SelectedCategory = response.SelectedCategory; productSearchResultView.SelectedCategoryName = response.SelectedCategoryName; productSearchResultView.TotalNoOfPages = response.TotalNumberOfPages; return productSearchResultView; }