Gender

Color

Size

Populære produkter

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.

trek204M
, Black

Variant Name

, Black

Variant Price

$40.80

, Red

Variant Name

, Red

Variant Price

$40.80

S

Variant Name

, S

Variant Price

$40.80

M

Variant Name

, M

Variant Price

$40.80

L

Variant Name

, L

Variant Price

$40.80

$40.80 InStock
5953 Many in stock. 2-3 days delivery.

trek206
$40.80 InStock
4000 Many in stock. 2-3 days delivery.

trek207
$70.00 InStock
4000 Many in stock. 2-3 days delivery.

trek202
$0.00 InStock
6000 Many in stock. 2-3 days delivery.

trek203
$0.00 InStock
4000 Many in stock. 2-3 days delivery.

can006
$3,149.50 InStock
1973 Many in stock. 2-3 days delivery.

spe002
, Red

Variant Name

, Red

Variant Price

$500.00

$500.00 OutOfStock
32 out of 32 products
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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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
trek204M

5953 Many in stock.

$40.80

5953 Many in stock.

$40.80

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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
trek206

4000 Many in stock.

$40.80

4000 Many in stock.

$40.80

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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
trek207

4000 Many in stock.

$70.00

4000 Many in stock.

$70.00

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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
trek202

6000 Many in stock.

$0.00

6000 Many in stock.

$0.00

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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
trek203

4000 Many in stock.

$0.00

4000 Many in stock.

$0.00

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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
can006

1973 Many in stock.

  • Bike type: Mountain bike, Electric bike
  • Gender: Unisex
  • Wheel size: 29"
$3,149.50

1973 Many in stock.

$3,149.50

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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
spe002

Out of stock.

  • Bike type: Mountain bike
  • Gender: Women
  • Wheel size: 29"
$500.00

Out of stock.

$500.00
8 out of 32 products
Load more products
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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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

trek204M

5953 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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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

5953 Many in stock.

$40.80

trek206

4000 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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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

4000 Many in stock.

$40.80

trek207

4000 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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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

4000 Many in stock.

$70.00

trek202

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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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

trek203

4000 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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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

4000 Many in stock.

$0.00

can006

1973 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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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: mountain, electric
  • Gender: unisex
  • Wheel size: 29

1973 Many in stock.

$3,149.50

spe002

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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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: mountain
  • Gender: women
  • Wheel size: 29

Out of stock.

$500.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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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_17ca33f0336b41b5a79f0b00e5868196.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

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