public IViewComponentResult Invoke(WidgetInstanceViewModel widgetInstance) { var model = new SimpleProductWidgetComponentVm { Id = widgetInstance.Id, WidgetName = widgetInstance.Name, Setting = JsonConvert.DeserializeObject <SimpleProductWidgetSetting>(widgetInstance.Data) }; foreach (var item in model.Setting.Products) { var product = _productRepository.Query().Where(x => x.Id == item.Id).FirstOrDefault(); if (product != null) { var productThumbnail = ProductThumbnail.FromProduct(product); productThumbnail.Name = _contentLocalizationService.GetLocalizedProperty(nameof(Product), productThumbnail.Id, nameof(product.Name), productThumbnail.Name); productThumbnail.ThumbnailUrl = _mediaService.GetThumbnailUrl(product.ThumbnailImage); productThumbnail.CalculatedProductPrice = _productPricingService.CalculateProductPrice(product); model.Products.Add(productThumbnail); } } return(View(this.GetViewPath(), model)); }
public IViewComponentResult Invoke(WidgetInstanceViewModel widgetInstance) { var model = new SimpleProductWidgetComponentVm { Id = widgetInstance.Id, WidgetName = widgetInstance.Name, Setting = JsonConvert.DeserializeObject<SimpleProductWidgetSetting>(widgetInstance.Data) }; foreach (var item in model.Setting.Products) { var product = _productRepository.Query().Where(x => x.Id == item.Id).FirstOrDefault(); if (product != null) { var productThumbnail = ProductThumbnail.FromProduct(product); productThumbnail.ThumbnailUrl = _mediaService.GetThumbnailUrl(product.ThumbnailImage); productThumbnail.CalculatedProductPrice = _productPricingService.CalculateProductPrice(product); model.Products.Add(productThumbnail); } } return View("/Modules/SimplCommerce.Module.Catalog/Views/Components/SimpleProductWidget.cshtml", model); }