BHG Online Logo
Welcome to Fashion!
Error executing template "/Designs/Bhg/ContentPage/Paragraph/Promotion_Para.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_1c5beb0b6f574a19bdcd1d5b663c3b08.Execute() in C:\Websites\DW_Dev\Custom\BHGSource\Files\Templates\Designs\Bhg\ContentPage\Paragraph\Promotion_Para.cshtml:line 7
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> @using BHGSource.Models @using BHGSource.Service @using Dynamicweb.Frontend @{ string page = ""; page = System.Web.HttpContext.Current.Request.QueryString["page"].ToString(); string pagingurl = "/promotions?page=pagid"; DiscountService discountService = new DiscountService(); campaignInfoList campaignInfoList = new campaignInfoList(); campaignInfoList = discountService.GetCampaign(page); PageView pageView = PageView.GetPageviewByPageID(0); string promoWelcomeText = pageView.AreaSettings.GetString("Promotion_Welcome_Text") != null ? pageView.AreaSettings.GetString("Promotion_Welcome_Text") : ""; string promoSubText = pageView.AreaSettings.GetString("Promotion_PageSub_Text") != null ? pageView.AreaSettings.GetString("Promotion_PageSub_Text") : ""; string campPromoUrl = "/Default.aspx?ID=" + GetPageIdByNavigationTag("CampaignProducts") + "&Campaign="; string dashStr = ""; } <link href="/Files/Templates/Designs/Bhg/css/CustomerCenter/promotion.css" rel="stylesheet" /> <!-- CONTENT--> <div id="@(Model.ID)" style="scroll-margin-top: 150px"></div> <div id="promotion-page" class="main-container type-c"> <div class="wrapper-1364"> <div class="col-1"></div> <div class="col-2-full"> <h2 class="page-title type-b"> @promoWelcomeText </h2> <p>@promoSubText</p> <div class="promotion-wrap"> <div class="tabs"> <div class="tabs-nav"> <ul> <li class="active"><a href="#all"><img src="/Files/Templates/Designs/Bhg/media/icons/Group 719.png"><br>All</a></li> <li onclick="loadBeautyCampaign(1);"><a href="#beauty"><img src="/Files/Templates/Designs/Bhg/media/icons/Group 286.png"><br>Beauty</a></li> <li onclick="loadWomenCampaign(1);"><a href="#women"><img src="/Files/Templates/Designs/Bhg/media/icons/Path 199.png"><br>Women</a></li> <li onclick="loadMenCampaign(1);"><a href="#men"><img src="/Files/Templates/Designs/Bhg/media/icons/Group 285.png"><br>Men</a></li> <li onclick="loadKidCampaign(1);"><a href="#kids"><img src="/Files/Templates/Designs/Bhg/media/icons/Group 287.png"><br>Kids</a></li> <li onclick="loadHomeCampaign(1);"><a href="#home"><img src="/Files/Templates/Designs/Bhg/media/icons/Group 284.png"><br>Home</a></li> @*<li onclick="loadStoreWide()"><a href="#store-wide"><img src="/Files/Templates/Designs/Bhg/media/icons/Group 1177.png"><br>Store Wide</a></li>*@ </ul> </div> <div class="tabs-content"> <div class="tab active" id="all"> <div class="promotion-box"> @{ foreach (campaignInfo campaignInfo in campaignInfoList.campaignInfo) { dashStr = ""; if (campaignInfo.campainStartDate != "" && campaignInfo.campainEndDate != "") { dashStr = "-"; } <div class="promo-item"> <img src="@campaignInfo.campainImage"> <div class="promo-detail"> <div class="date">@campaignInfo.campainStartDate@dashStr@campaignInfo.campainEndDate</div> <div class="title">@campaignInfo.campaignName</div> <a href="@campPromoUrl@campaignInfo.campaignNo">@Translate("Shop Now")</a> </div> <div class="overlay-bg"></div> </div> } } </div> <div> <ul class="bhg-orderlist_pager__list"> @if (campaignInfoList.pager.CurrentPage > 1) { <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" href="@pagingurl.Replace("pagid", (campaignInfoList.pager.CurrentPage - 1).ToString())"> <i class="fas fa-angle-left addon-page-arrow"></i> </a> </li> } @if (campaignInfoList.pager.Pages != null) { foreach (var p in campaignInfoList.pager.Pages) { <li class="bhg-orderlist_pager__btn bhg-pagenumber @(p == campaignInfoList.pager.CurrentPage ? "active" : "")"> <a class="pager__num add-on-pageno" href="@pagingurl.Replace("pagid", p.ToString())">@p</a> </li> } } @if (campaignInfoList.pager.CurrentPage < campaignInfoList.pager.TotalPages) { <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" href="@pagingurl.Replace("pagid", (campaignInfoList.pager.CurrentPage + 1).ToString())"> <i class="fas fa-angle-right addon-page-arrow"></i> </a> </li> } </ul> </div> </div> <div class="tab" id="beauty"> </div> <div class="tab" id="women"> </div> <div class="tab" id="men"> </div> <div class="tab" id="kids"> </div> <div class="tab" id="home"> </div> <div class="tab" id="store-wide"> </div> </div> </div> </div> </div> </div> </div> <script id="beauty-template" type="text/x-handlebars-template"> <div class="promotion-box"> {{#each campaignInfo}} <div class="promo-item"> <img src="{{campainImage}}"> <div class="promo-detail"> <div class="date">{{campainStartDate}} {{campainEndDate}}</div> <div class="title">{{campaignName}}</div> <a href="@campPromoUrl{{campaignNo}}">@Translate("Shop Now")</a> </div> <div class="overlay-bg"></div> </div> {{/each}} </div> <div> <ul class="bhg-orderlist_pager__list"> {{#ifGreater CurrentPage 1}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadBeautyCampaign('{{minus CurrentPage 1}}')"> <i class="fas fa-angle-left addon-page-arrow"></i> </a> </li> {{/ifGreater}} {{#ifNotEquals pageListCount 0}} {{#each pageList}} <li class="bhg-orderlist_pager__btn bhg-pagenumber {{ifPEquals ../CurrentPage pageNo}}"> <a class="pager__num add-on-pageno" onclick="loadBeautyCampaign('{{pageNo}}')">{{pageNo}}</a> </li> {{/each}} {{/ifNotEquals}} {{#ifLess CurrentPage TotalPages}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadBeautyCampaign('{{plus CurrentPage 1}}')"> <i class="fas fa-angle-right addon-page-arrow"></i> </a> </li> {{/ifLess}} </ul> </div> </script> <script id="women-template" type="text/x-handlebars-template"> <div class="promotion-box"> {{#each campaignInfo}} <div class="promo-item"> <img src="{{campainImage}}"> <div class="promo-detail"> <div class="date">{{campainStartDate}} {{campainEndDate}}</div> <div class="title">{{campaignName}}</div> <a href="@campPromoUrl{{campaignNo}}">@Translate("Shop Now")</a> </div> <div class="overlay-bg"></div> </div> {{/each}} </div> <div> <ul class="bhg-orderlist_pager__list"> {{#ifGreater CurrentPage 1}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadWomenCampaign('{{minus CurrentPage 1}}')"> <i class="fas fa-angle-left addon-page-arrow"></i> </a> </li> {{/ifGreater}} {{#ifNotEquals pageListCount 0}} {{#each pageList}} <li class="bhg-orderlist_pager__btn bhg-pagenumber {{ifPEquals ../CurrentPage pageNo}}"> <a class="pager__num add-on-pageno" onclick="loadWomenCampaign('{{pageNo}}')">{{pageNo}}</a> </li> {{/each}} {{/ifNotEquals}} {{#ifLess CurrentPage TotalPages}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadWomenCampaign('{{plus CurrentPage 1}}')"> <i class="fas fa-angle-right addon-page-arrow"></i> </a> </li> {{/ifLess}} </ul> </div> </script> <script id="men-template" type="text/x-handlebars-template"> <div class="promotion-box"> {{#each campaignInfo}} <div class="promo-item"> <img src="{{campainImage}}"> <div class="promo-detail"> <div class="date">{{campainStartDate}} {{campainEndDate}}</div> <div class="title">{{campaignName}}</div> <a href="@campPromoUrl{{campaignNo}}">@Translate("Shop Now")</a> </div> <div class="overlay-bg"></div> </div> {{/each}} </div> <div> <ul class="bhg-orderlist_pager__list"> {{#ifGreater CurrentPage 1}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadMenCampaign('{{minus CurrentPage 1}}')"> <i class="fas fa-angle-left addon-page-arrow"></i> </a> </li> {{/ifGreater}} {{#ifNotEquals pageListCount 0}} {{#each pageList}} <li class="bhg-orderlist_pager__btn bhg-pagenumber {{ifPEquals ../CurrentPage pageNo}}"> <a class="pager__num add-on-pageno" onclick="loadMenCampaign('{{pageNo}}')">{{pageNo}}</a> </li> {{/each}} {{/ifNotEquals}} {{#ifLess CurrentPage TotalPages}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadMenCampaign('{{plus CurrentPage 1}}')"> <i class="fas fa-angle-right addon-page-arrow"></i> </a> </li> {{/ifLess}} </ul> </div> </script> <script id="kid-template" type="text/x-handlebars-template"> <div class="promotion-box"> {{#each campaignInfo}} <div class="promo-item"> <img src="{{campainImage}}"> <div class="promo-detail"> <div class="date">{{campainStartDate}} {{campainEndDate}}</div> <div class="title">{{campaignName}}</div> <a href="@campPromoUrl{{campaignNo}}">@Translate("Shop Now")</a> </div> <div class="overlay-bg"></div> </div> {{/each}} </div> <div> <ul class="bhg-orderlist_pager__list"> {{#ifGreater CurrentPage 1}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadKidCampaign('{{minus CurrentPage 1}}')"> <i class="fas fa-angle-left addon-page-arrow"></i> </a> </li> {{/ifGreater}} {{#ifNotEquals pageListCount 0}} {{#each pageList}} <li class="bhg-orderlist_pager__btn bhg-pagenumber {{ifPEquals ../CurrentPage pageNo}}"> <a class="pager__num add-on-pageno" onclick="loadKidCampaign('{{pageNo}}')">{{pageNo}}</a> </li> {{/each}} {{/ifNotEquals}} {{#ifLess CurrentPage TotalPages}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadKidCampaign('{{plus CurrentPage 1}}')"> <i class="fas fa-angle-right addon-page-arrow"></i> </a> </li> {{/ifLess}} </ul> </div> </script> <script id="home-template" type="text/x-handlebars-template"> <div class="promotion-box"> {{#each campaignInfo}} <div class="promo-item"> <img src="{{campainImage}}"> <div class="promo-detail"> <div class="date">{{campainStartDate}} {{campainEndDate}}</div> <div class="title">{{campaignName}}</div> <a href="@campPromoUrl{{campaignNo}}">@Translate("Shop Now")</a> </div> <div class="overlay-bg"></div> </div> {{/each}} </div> <div> <ul class="bhg-orderlist_pager__list"> {{#ifGreater CurrentPage 1}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadHomeCampaign('{{minus CurrentPage 1}}')"> <i class="fas fa-angle-left addon-page-arrow"></i> </a> </li> {{/ifGreater}} {{#ifNotEquals pageListCount 0}} {{#each pageList}} <li class="bhg-orderlist_pager__btn bhg-pagenumber {{ifPEquals ../CurrentPage pageNo}}"> <a class="pager__num add-on-pageno" onclick="loadHomeCampaign('{{pageNo}}')">{{pageNo}}</a> </li> {{/each}} {{/ifNotEquals}} {{#ifLess CurrentPage TotalPages}} <li class="bhg-orderlist_pager__btn bhg-pagenumber"> <a class="pager__num" onclick="loadHomeCampaign('{{plus CurrentPage 1}}')"> <i class="fas fa-angle-right addon-page-arrow"></i> </a> </li> {{/ifLess}} </ul> </div> </script> <script id="storewide-template" type="text/x-handlebars-template"> <div class="promotion-box"> {{#each .}} {{#each FlipBookList}} <div class="promo-item"> <img src="{{Image}}"> <div class="promo-detail"> <div class="title">{{FlipBookName}}</div> <a href="/flipbook-details?FlipBookId={{Id}}">@Translate("Shop Now")</a> </div> <div class="overlay-bg"></div> </div> {{/each}} {{/each}} </div> </script> <script> function loadBeautyCampaign(page) { var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (xhr.readyState === 4 && xhr.status === 200) { try { var data = JSON.parse(xhr.responseText); } catch (err) { console.log(err.message + " in " + xhr.responseText); return; } var source1 = $('#beauty-template').html(); var template1 = Handlebars.compile(source1); var html1 = template1(data); document.getElementById("beauty").innerHTML = html1; } }); var detPath = "/dwapi/Discount/GetFilterCampaignList?page=" + page + "&ptype=beauty"; xhr.open("Get", detPath); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(); } function loadWomenCampaign(page) { var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (xhr.readyState === 4 && xhr.status === 200) { try { var data = JSON.parse(xhr.responseText); } catch (err) { console.log(err.message + " in " + xhr.responseText); return; } var source1 = $('#women-template').html(); var template1 = Handlebars.compile(source1); var html1 = template1(data); document.getElementById("women").innerHTML = html1; } }); var detPath = "/dwapi/Discount/GetFilterCampaignList?page=" + page + "&ptype=women"; xhr.open("Get", detPath); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(); } function loadMenCampaign(page) { var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (xhr.readyState === 4 && xhr.status === 200) { try { var data = JSON.parse(xhr.responseText); } catch (err) { console.log(err.message + " in " + xhr.responseText); return; } var source1 = $('#men-template').html(); var template1 = Handlebars.compile(source1); var html1 = template1(data); document.getElementById("men").innerHTML = html1; } }); var detPath = "/dwapi/Discount/GetFilterCampaignList?page=" + page + "&ptype=men"; xhr.open("Get", detPath); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(); } function loadKidCampaign(page) { var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (xhr.readyState === 4 && xhr.status === 200) { try { var data = JSON.parse(xhr.responseText); } catch (err) { console.log(err.message + " in " + xhr.responseText); return; } var source1 = $('#kid-template').html(); var template1 = Handlebars.compile(source1); var html1 = template1(data); document.getElementById("kids").innerHTML = html1; } }); var detPath = "/dwapi/Discount/GetFilterCampaignList?page=" + page + "&ptype=baby%26kids"; xhr.open("Get", detPath); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(); } function loadHomeCampaign(page) { var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (xhr.readyState === 4 && xhr.status === 200) { try { var data = JSON.parse(xhr.responseText); } catch (err) { console.log(err.message + " in " + xhr.responseText); return; } var source1 = $('#home-template').html(); var template1 = Handlebars.compile(source1); var html1 = template1(data); document.getElementById("home").innerHTML = html1; } }); var detPath = "/dwapi/Discount/GetFilterCampaignList?page=" + page + "&ptype=home%26living"; xhr.open("Get", detPath); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(); } function loadStoreWide() { var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (xhr.readyState === 4 && xhr.status === 200) { try { var data = JSON.parse(xhr.responseText); } catch (err) { console.log(err.message + " in " + xhr.responseText); return; } var source1 = $('#storewide-template').html(); var template1 = Handlebars.compile(source1); var html1 = template1(data); document.getElementById("store-wide").innerHTML = html1; } }); var detPath = "/flipbookfeed"; xhr.open("Get", detPath); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(); } </script>
BHG

Install BHG

Install this application on your home screen for quick and easy access when you’re on the go.

Just tap Share then “Add to Home Screen”