示例#1
0
 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;
 }