public MultipleProductSearchResults GetMultipleProductList(Item datasource, Rendering currentRendering, CommerceSearchOptions productSearchOptions) { var multipleProductSearchResults = GetMultipleProductSearchResults(datasource, productSearchOptions); if (multipleProductSearchResults != null) { multipleProductSearchResults.Initialize(currentRendering); multipleProductSearchResults.DisplayName = datasource.DisplayName; var products = multipleProductSearchResults.ProductSearchResults.SelectMany(productSearchResult => productSearchResult.Products).ToList(); _catalogManager.GetProductBulkPrices(this.CurrentVisitorContext, products); _inventoryManager.GetProductsStockStatusForList(this.CurrentStorefront, products); foreach (var productViewModel in products) { Item productItem = multipleProductSearchResults.SearchResults .SelectMany(productSearchResult => productSearchResult.SearchResultItems) .FirstOrDefault(item => item.Name == productViewModel.ProductId); productViewModel.CustomerAverageRating = _catalogManager.GetProductRating(productItem); } } return(multipleProductSearchResults); }