Populære produkter
Copy of Townie Go! 5i Step-Thru Bike x
Bontrager Velocis Women's Stormshell Cycling Jacket US
Copy of Bontrager Anara LTD Women's Cycling Jersey
Townie Go! 5i Step-Thru us
Product in stock us
No discount product us
Product 1 with discount US
Product 2 with discount US (buy 2 ) US
Product Never out of stock (stock > 0) US
F-Si Carbon 3 Cross Country Bike us
Variant Name
F-Si Carbon 3 Cross Country Bike us, Black
Variant Price
$1,499.50
Variant Name
F-Si Carbon 3 Cross Country Bike us, Green
Variant Price
$1,499.50
Variant Name
F-Si Carbon 3 Cross Country Bike us, Red
Variant Price
$1,499.50
Product with discount (get a free product) US
Product in stock US
Fox Racing Shox 38 Factory 29 GRIP2 us
Product Never out of stock (stock <= 0)
Product with quantity step set to 0,1 US
Product with quantity (min 6, step 2) US
Product with quantity (min 2, step 3) US
Product with quantity (min 1, step 2) US
Product with many images and files
Copy of Product 1
Copy of Product 5
Copy of Product with many images and files
Viggo product US
Bontrager Circuit MIPS Cycling Helmet us
Variant Name
, Black
Variant Price
$40.80
Variant Name
, Red
Variant Price
$40.80
Variant Name
, S
Variant Price
$40.80
Variant Name
, M
Variant Price
$40.80
Variant Name
, L
Variant Price
$40.80
Variant Name
, Red
Variant Price
$500.00
Copy of Townie Go! 5i Step-Thru Bike x
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
- Bike type: Road bike, Electric bike
- Gender: Unisex
- Wheel size: 26"
Out of stock.
Copy of Townie Go! 5i Step-Thru Bike x
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Out of stock.
Bontrager Velocis Women's Stormshell Cycling Jacket US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
992 Many in stock.
992 Many in stock.
Copy of Bontrager Anara LTD Women's Cycling Jersey
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
6000 Many in stock.
6000 Many in stock.
Townie Go! 5i Step-Thru us
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Out of stock.
Product in stock us
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
986 Many in stock.
986 Many in stock.
No discount product us
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
5354 Many in stock.
5354 Many in stock.
Product 1 with discount US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
924 Many in stock.
924 Many in stock.
Product 2 with discount US (buy 2 ) US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
65705 Many in stock.
65705 Many in stock.
Product Never out of stock (stock > 0) US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
F-Si Carbon 3 Cross Country Bike us
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
79525 Many in stock.
- Bike type: Mountain bike
79525 Many in stock.
Product with discount (get a free product) US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
925 Many in stock.
925 Many in stock.
Product in stock US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
24 Many in stock.
24 Many in stock.
Fox Racing Shox 38 Factory 29 GRIP2 us
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
913 Many in stock.
913 Many in stock.
Product Never out of stock (stock <= 0)
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Product with quantity step set to 0,1 US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
24 Many in stock.
24 Many in stock.
Product with quantity (min 6, step 2) US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
24 Many in stock.
24 Many in stock.
Product with quantity (min 2, step 3) US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Out of stock.
Product with quantity (min 1, step 2) US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
24 Many in stock.
24 Many in stock.
Product with many images and files
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
- Bike type: Road bike, Electric bike
- Gender: Unisex
- Wheel size: 26"
Out of stock.
Copy of Product 1
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
6000 Many in stock.
6000 Many in stock.
Copy of Product 5
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Out of stock.
Copy of Product with many images and files
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Out of stock.
Viggo product US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Out of stock.
Bontrager Circuit MIPS Cycling Helmet us
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
1 Hurry! Limited stock!
1 Hurry! Limited stock!
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
5953 Many in stock.
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
4000 Many in stock.
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
4000 Many in stock.
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
6000 Many in stock.
6000 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
4000 Many in stock.
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
1973 Many in stock.
- Bike type: Mountain bike, Electric bike
- Gender: Unisex
- Wheel size: 29"
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
- Bike type: Mountain bike
- Gender: Women
- Wheel size: 29"
Out of stock.
Copy of Townie Go! 5i Step-Thru Bike x
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
- Bike type: roadbike, electric
- Gender: unisex
- Wheel size: 26
Out of stock.
Copy of Townie Go! 5i Step-Thru Bike x
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Bontrager Velocis Women's Stormshell Cycling Jacket US
992 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
992 Many in stock.
Copy of Bontrager Anara LTD Women's Cycling Jersey
6000 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
6000 Many in stock.
Townie Go! 5i Step-Thru us
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Product in stock us
986 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
986 Many in stock.
No discount product us
5354 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
5354 Many in stock.
Product 1 with discount US
924 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
924 Many in stock.
Product 2 with discount US (buy 2 ) US
65705 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
65705 Many in stock.
Product Never out of stock (stock > 0) US
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
F-Si Carbon 3 Cross Country Bike us
79525 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
- Bike type: mountain
79525 Many in stock.
Product with discount (get a free product) US
925 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
925 Many in stock.
Product in stock US
24 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
24 Many in stock.
Fox Racing Shox 38 Factory 29 GRIP2 us
913 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
913 Many in stock.
Product Never out of stock (stock <= 0)
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Product with quantity step set to 0,1 US
24 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
24 Many in stock.
Product with quantity (min 6, step 2) US
24 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
24 Many in stock.
Product with quantity (min 2, step 3) US
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Product with quantity (min 1, step 2) US
24 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
24 Many in stock.
Product with many images and files
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
- Bike type: roadbike, electric
- Gender: unisex
- Wheel size: 26
Out of stock.
Copy of Product 1
6000 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
6000 Many in stock.
Copy of Product 5
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Copy of Product with many images and files
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Viggo product US
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Out of stock.
Bontrager Circuit MIPS Cycling Helmet us
1 Hurry! Limited stock!
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
1 Hurry! Limited stock!
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
5953 Many in stock.
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
4000 Many in stock.
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
4000 Many in stock.
6000 Many in stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
6000 Many in stock.
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
4000 Many in stock.
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_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
- Bike type: mountain, electric
- Gender: unisex
- Wheel size: 29
1973 Many in stock.
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
- Bike type: mountain
- Gender: women
- Wheel size: 29
Out of stock.
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_dfab719c3f7c4a55bdc1177743c99084.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68 at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14 at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805
1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125