Gender

Color

Size

Populære produkter

Product with quantity (min 6, step 2) US
Product with quantity (min 6, step 2) US

Product with quantity (min 6, step 2) US

quantity4
$50.00 InStock
24 Many in stock. 2-3 days delivery.
Product with quantity (min 2, step 3) US
Product with quantity (min 2, step 3) US

Product with quantity (min 2, step 3) US

quantity5
$50.00 OutOfStock
Out of stock. 6 months delivery.
You will be contacted when the product is back in stock.
Product with quantity (min 1, step 2) US
Product with quantity (min 1, step 2) US

Product with quantity (min 1, step 2) US

quantity6
$50.00 InStock
24 Many in stock. 2-3 days delivery.
Product with many images and files
Product with many images and files

Product with many images and files

000001x
$500.00 OutOfStock
Out of stock. 6 months delivery.
You will be contacted when the product is back in stock.
Copy of Product 1
Copy of Product 1

Copy of Product 1

$0.00 InStock
6000 Many in stock. 2-3 days delivery.
Copy of Product 5
Copy of Product 5

Copy of Product 5

$500.00 OutOfStock
Out of stock. 6 months delivery.
You will be contacted when the product is back in stock.
Copy of Product with many images and files
Copy of Product with many images and files

Copy of Product with many images and files

000002
$500.00 OutOfStock
Out of stock. 6 months delivery.
You will be contacted when the product is back in stock.
Viggo product US
Viggo product US

Viggo product US

viggo
$50.00 OutOfStock
Out of stock. 6 months delivery.
You will be contacted when the product is back in stock.
24 out of 32 products
Load more products
Product with quantity (min 6, step 2) US

Product with quantity (min 6, step 2) US

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
quantity4

24 Many in stock.

$50.00

24 Many in stock.

$50.00
Product with quantity (min 2, step 3) US

Product with quantity (min 2, step 3) US

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
quantity5

Out of stock.

$50.00

Out of stock.

$50.00
Product with quantity (min 1, step 2) US

Product with quantity (min 1, step 2) US

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
quantity6

24 Many in stock.

$50.00

24 Many in stock.

$50.00
Product with many images and files

Product with many images and files

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
000001x

Out of stock.

  • Bike type: Road bike, Electric bike
  • Gender: Unisex
  • Wheel size: 26"
$500.00

Out of stock.

$500.00
Copy of Product 1

Copy of Product 1

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

6000 Many in stock.

$0.00

6000 Many in stock.

$0.00
Copy of Product 5

Copy of Product 5

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

Out of stock.

$500.00

Out of stock.

$500.00
Copy of Product with many images and files

Copy of Product with many images and files

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
000002

Out of stock.

$500.00

Out of stock.

$500.00
Viggo product US

Viggo product US

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
viggo

Out of stock.

$50.00

Out of stock.

$50.00
8 out of 32 products
Load more products
Product with quantity (min 6, step 2) US

Product with quantity (min 6, step 2) US

quantity4

24 Many in stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

24 Many in stock.

$50.00
Product with quantity (min 2, step 3) US

Product with quantity (min 2, step 3) US

quantity5

Out of stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

Out of stock.

$50.00
Product with quantity (min 1, step 2) US

Product with quantity (min 1, step 2) US

quantity6

24 Many in stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

24 Many in stock.

$50.00
Product with many images and files

Product with many images and files

000001x

Out of stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
  • Bike type: roadbike, electric
  • Gender: unisex
  • Wheel size: 26

Out of stock.

$500.00
Copy of Product 1

Copy of Product 1

6000 Many in stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

6000 Many in stock.

$0.00
Copy of Product 5

Copy of Product 5

Out of stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

Out of stock.

$500.00
Copy of Product with many images and files

Copy of Product with many images and files

000002

Out of stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

Out of stock.

$500.00
Viggo product US

Viggo product US

viggo

Out of stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

Out of stock.

$50.00
8 out of 32 products
Load more products
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
8 out of 32 products
Load more products