public string Parse(ProductListTemplateData template, Product item) { if (template == null) { return(string.Empty); } string output = template.ProductTemplate; if (string.IsNullOrWhiteSpace(output)) { return(string.Empty); } MediaFile image = _imageProcessor.GetImage(item.DisplayImageUrl); output = ImageRegex.Replace(output, _urlHelper.ToAbsolute(_fileService.GetFileLocation(image, new Size { Width = 150, Height = 150 }))); output = NameRegex.Replace(output, item.Name ?? string.Empty); output = LinkRegex.Replace(output, item.AbsoluteUrl); output = PriceRegex.Replace(output, GetPrice(_productPricingMethod.GetDisplayPrice(item))); output = OldPriceRegex.Replace(output, GetPrice(_productPricingMethod.GetDisplayPreviousPrice(item))); return(output); }
private string ParseRow(ProductListTemplateData templateData, IEnumerable <Product> rowProducts) { string rowOutput = rowProducts.Aggregate(templateData.ProductRowTemplate, (current, product) => ProductRegex.Replace(current, replace => _productParser.Parse(templateData, product), 1)); // Blank any remaining shortcodes as we may have ran out of products rowOutput = ProductRegex.Replace(rowOutput, string.Empty); return(rowOutput); }
private string ParseRows(ProductListTemplateData templateData, Product[] products) { int numProductsInRow = ProductRegex.Matches(templateData.ProductRowTemplate).Count; string output = string.Empty; for (int i = 0; i < products.Length; i += numProductsInRow) { output += ParseRow(templateData, products.Skip(i).Take(numProductsInRow)); } return(output); }
public RedirectToRouteResult Edit_POST(ProductListTemplateData data) { _templateDataAdminService.Update(data); return(RedirectToAction("Edit", "NewsletterTemplate", new { id = data.NewsletterTemplate.Id })); }
public ViewResult Edit(ProductListTemplateData data) { return(View(data)); }