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