public virtual async Task <IActionResult> CompareProducts() { if (!_catalogSettings.CompareProductsEnabled) { return(RedirectToRoute("HomePage")); } var model = new CompareProductsModel { IncludeShortDescriptionInCompareProducts = _catalogSettings.IncludeShortDescriptionInCompareProducts, IncludeFullDescriptionInCompareProducts = _catalogSettings.IncludeFullDescriptionInCompareProducts, }; var products = await _compareProductsService.GetComparedProducts(); //ACL and store mapping products = products.Where(p => _aclService.Authorize(p) && _storeMappingService.Authorize(p)).ToList(); //availability dates products = products.Where(p => p.IsAvailable()).ToList(); (await _mediator.Send(new GetProductOverview() { PrepareSpecificationAttributes = true, Products = products, })).ToList().ForEach(model.Products.Add); return(View(model)); }
public virtual IActionResult CompareProducts() { if (!_catalogSettings.CompareProductsEnabled) { return(RedirectToRoute("HomePage")); } var model = new CompareProductsModel { IncludeShortDescriptionInCompareProducts = _catalogSettings.IncludeShortDescriptionInCompareProducts, IncludeFullDescriptionInCompareProducts = _catalogSettings.IncludeFullDescriptionInCompareProducts, }; var products = _compareProductsService.GetComparedProducts(); //ACL and store mapping products = products.Where(p => _aclService.Authorize(p) && _storeMappingService.Authorize(p)).ToList(); //availability dates products = products.Where(p => _productService.ProductIsAvailable(p)).ToList(); //prepare model _productModelFactory.PrepareProductOverviewModels(products, prepareSpecificationAttributes: true) .ToList() .ForEach(model.Products.Add); return(View(model)); }