예제 #1
0
 public static GetProductsByCategoryResponse CreateProductSearchResultFrom(
 this IEnumerable<Product> productsMatchingRefinement,
 GetProductsByCategoryRequest request)
 {
     GetProductsByCategoryResponse productSearchResultView = new GetProductsByCategoryResponse();
     IEnumerable<ProductTitle> productsFound = productsMatchingRefinement.Select(p => p.ProductTitle).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;
 }
 private ProductSearchResultView GetProductSearchResultViewFrom(GetProductsByCategoryResponse response)
 {
     ProductSearchResultView productSearchResultView = new ProductSearchResultView();
     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;
 }