Error executing template "Designs/DLF/_parsed/Page.parsed.cshtml"
System.InvalidOperationException: Default currency does not exist
   at Dynamicweb.Ecommerce.Common.Context.GetCurrency()
   at Dynamicweb.Ecommerce.Frontend.PageViewGlobalTagsSubscriber.OnNotify(String notification, NotificationArgs args)
   at Dynamicweb.Extensibility.Notifications.NotificationManager.Notify(String notification, NotificationArgs eventArgs)
   at Dynamicweb.Frontend.PageView.GetGlobalTemplateTags()
   at Dynamicweb.Rendering.RazorTemplateBase`1.GetGlobalValue(String name)
   at CompiledRazorTemplates.Dynamic.RazorEngine_10caae99929e4314b32e1ddb8e9d984f.Execute() in C:\inetpub\solutions\DLF.MyDLF.Web_DC - Live\Files\Templates\Designs\DLF\_parsed\Page.parsed.cshtml:line 10
   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 @using DLF.MyDLF.Web.Razor 2 @using NLWI.Core.Factory 3 @using NORRIQ.Common8.Context 4 @using NORRIQ.Common8.Razor 5 @using NORRIQ.DisplayIt.Extensions 6 @using NORRIQ.Universal.Extensions 7 @using DLF.MyDLF.Web.CustomModules.DisplayItModes.UserManagement.Services 8 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 9 @{ 10 var htmlLang = GetGlobalValue("Global:Area.Culture.Name"); 11 var metaCharset = GetValue("CharSet"); 12 var Logo = GetString("Item.Area.Negative_Logo"); 13 var LargeLogo = GetString("Item.Area.LargeLogo"); 14 //var mobileLogo = GetString("Item.Area.SmallLogo"); 15 //var logoWidth = GetGlobalValue("Global:Device.IsMobile") == "True" ? "110" : "180"; 16 var urlLogo = GetString("Item.Area.LogoUrl"); 17 var pageType = GetBoolean("Item.Page.ClosedPage") || Pageview.User == null ? "settings-page" : "default-page"; 18 var salesContactID = 0; 19 var shippingContactID = 0; 20 var financeContactID = 0; 21 var generalContactID = 0; 22 var faviconfolder = "/Files/Images/icons"; 23 Int32.TryParse(GetString("Item.Area.SalesContact").Split('#').Last(), out salesContactID); 24 Int32.TryParse(GetString("Item.Area.ShippingContact").Split('#').Last(), out shippingContactID); 25 Int32.TryParse(GetString("Item.Area.FinanceContact").Split('#').Last(), out financeContactID); 26 Int32.TryParse(GetString("Item.Area.GeneralContact").Split('#').Last(), out generalContactID); 27 var masterTranslatePrefix = "Master_"; 28 string forgotpasswordPath = NORRIQ.Common8.Razor.Navigation.GetUriByNavigationTag("reset-password").SetQuery("LoginAction", "Recovery").PathAndQuery; 29 string gtmId = ObjectFactory.GetInstance<AreaItemSettings>().GetCurrentAreaValue<string>("Google_GTM_ID"); 30 bool isImpersonating = string.IsNullOrWhiteSpace(GetGlobalValue("NIQ:Salesperson.IsImpersonating")) ? false : bool.Parse(GetGlobalValue("NIQ:Salesperson.IsImpersonating")); 31 string userType = ObjectFactory.GetInstance<UserManagementService>().GetUserType(isImpersonating).ToString(); 32 string customerNumber = ObjectFactory.GetInstance<UserManagementService>().GetCustomerNumber(); 33 bool isLoginRegistered = ObjectFactory.GetInstance<UserManagementService>().IsLoginRegistered(isImpersonating); 34 35 int shippingParagraphID = 0; 36 37 switch (htmlLang) 38 { 39 case "da-DK": 40 shippingParagraphID = 368; 41 break; 42 case "ru-RU": 43 shippingParagraphID = 153; 44 break; 45 case "fr-FR": 46 shippingParagraphID = 234; 47 break; 48 case "nl-NL": 49 shippingParagraphID = 289; 50 break; 51 default: // en-GB 52 shippingParagraphID = 29; 53 break; 54 } 55 56 int financeParagraphID = 0; 57 58 switch (htmlLang) 59 { 60 case "da-DK": 61 financeParagraphID = 369; 62 break; 63 case "ru-RU": 64 financeParagraphID = 154; 65 break; 66 case "fr-FR": 67 financeParagraphID = 235; 68 break; 69 case "nl-NL": 70 financeParagraphID = 290; 71 break; 72 default: // en-GB 73 financeParagraphID = 30; 74 break; 75 } 76 } 77 <!DOCTYPE html> 78 <html lang="@htmlLang"> 79 <head> 80 <title>@GetValue("Title")</title> 81 @GetValue("MetaTags") 82 @GetValue("CopyRightNotice") 83 84 <meta charset="utf-8"> 85 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 86 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, shrink-to-fit=no"> 87 88 @* ENSURE NO CACHE to avoid any lawsuit :) ! *@ 89 <meta http-equiv="cache-control" content="max-age=0"> 90 <meta http-equiv="cache-control" content="no-cache"> 91 <meta http-equiv="expires" content="0"> 92 <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT"> 93 <meta http-equiv="pragma" content="no-cache"> 94 95 <link rel="apple-touch-icon" sizes="57x57" href="@faviconfolder/apple-icon-57x57.png"> 96 <link rel="apple-touch-icon" sizes="60x60" href="@faviconfolder/apple-icon-60x60.png"> 97 <link rel="apple-touch-icon" sizes="72x72" href="@faviconfolder/apple-icon-72x72.png"> 98 <link rel="apple-touch-icon" sizes="76x76" href="@faviconfolder/apple-icon-76x76.png"> 99 <link rel="apple-touch-icon" sizes="114x114" href="@faviconfolder/apple-icon-114x114.png"> 100 <link rel="apple-touch-icon" sizes="120x120" href="@faviconfolder/apple-icon-120x120.png"> 101 <link rel="apple-touch-icon" sizes="144x144" href="@faviconfolder/apple-icon-144x144.png"> 102 <link rel="apple-touch-icon" sizes="152x152" href="@faviconfolder/apple-icon-152x152.png"> 103 <link rel="apple-touch-icon" sizes="180x180" href="@faviconfolder/apple-icon-180x180.png"> 104 <link rel="icon" type="image/png" sizes="192x192" href="@faviconfolder/android-icon-192x192.png"> 105 <link rel="icon" type="image/png" sizes="32x32" href="@faviconfolder/favicon-32x32.png"> 106 <link rel="icon" type="image/png" sizes="96x96" href="@faviconfolder/favicon-96x96.png"> 107 <link rel="icon" type="image/png" sizes="16x16" href="@faviconfolder/favicon-16x16.png"> 108 <link rel="manifest" href="@faviconfolder/manifest.json"> 109 <meta name="msapplication-TileColor" content="#ffffff"> 110 <meta name="msapplication-TileImage" content="/ms-icon-144x144.png"> 111 <meta name="theme-color" content="#ffffff"> 112 <!-- Google Tag Manager --> 113 @if (!string.IsNullOrEmpty(gtmId)) 114 { 115 <!-- Google Tag Manager --> 116 <script> 117 (function (w, d, s, l, i) { 118 w[l] = w[l] || []; w[l].push({ 119 'gtm.start': 120 new Date().getTime(), event: 'gtm.js' 121 }); var f = d.getElementsByTagName(s)[0], 122 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 123 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 124 })(window, document, 'script', 'dataLayer', '@gtmId'); 125 </script> 126 <!-- End Google Tag Manager --> 127 } 128 <link href="https://fonts.googleapis.com/css?family=Lato:400,700" rel="stylesheet"> 129 <link href="https://fonts.googleapis.com/css?family=Roboto:400,700" rel="stylesheet"> 130 <link rel="stylesheet" href="//cdn.materialdesignicons.com/4.4.95/css/materialdesignicons.min.css"> 131 <link rel="stylesheet" href="/Files/Templates/Designs/DLF/css/font-awesome.min.css"> 132 <link href="/Files/Templates/Designs/DLF/css/styles.css" rel="stylesheet"> 133 134 @GetValue("Stylesheets") 135 @GetValue("Javascripts") 136 </head> 137 <body class="@pageType"> 138 @if (string.Equals(GetGlobalValue("Global:Page.IsProtected"), "true", StringComparison.CurrentCultureIgnoreCase) && Pageview.User == null) 139 { 140 141 <!-- Google Tag Manager (noscript) --> 142 if (!string.IsNullOrEmpty(gtmId)) 143 { 144 <noscript> 145 <iframe src="https://www.googletagmanager.com/ns.html?id=@gtmId" height="0" width="0" style="display:none;visibility:hidden"></iframe> 146 </noscript> 147 } 148 <!-- End Google Tag Manager (noscript) --> 149 <div class="container"> 150 <div class="row"> 151 <div class="col-xs-12 col-sm-6 col-sm-offset-3"> 152 <div class="card"> 153 <div class="card-logo"> 154 <img src="/Files/Images/icons/android-icon-144x144.png"> <img src="@LargeLogo"> 155 </div> 156 </div> 157 <div class="card"> 158 <div class="card-header d-flex flex-row justify-content-between align-items-center"> 159 <span class="card-title">@Translate(masterTranslatePrefix + "Login to MyDLF", "Login to MyDLF")</span> 160 @if (GetLoop("Item.Area.Languages").Any()) 161 { 162 <div class="dropdown"> 163 <div class="dropdown-toggle dropdown-button" type="button" id="languages" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> 164 <i class="mdi mdi-web mdi-24px" aria-hidden="true"></i> 165 <span class="lang-layer"> 166 @Pageview.Area.CultureInfo.TwoLetterISOLanguageName 167 </span> 168 <span class="sr-only"> 169 @Translate(masterTranslatePrefix + "Select Language", "Select Language") 170 </span> 171 <i class="mdi mdi-chevron-down" aria-hidden="true"></i> 172 </div> 173 <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="languages"> 174 @foreach (LoopItem lang in GetLoop("Item.Area.Languages")) 175 { 176 var link = "/" + lang.GetString("Item.Area.Languages.LanguageCode"); 177 <li> 178 <a href="@link"> 179 @lang.GetString("Item.Area.Languages.LanguageName") (@lang.GetString("Item.Area.Languages.LanguageCode")) 180 </a> 181 </li> 182 } 183 </ul> 184 </div> 185 } 186 </div> 187 <div class="card-body"> 188 @{ 189 var actionUrl = NORRIQ.Common8.Razor.Navigation.GetUrlByNavigationTag("dashboard").Replace("/", ""); 190 actionUrl = "/" + actionUrl; 191 } 192 193 <form name="ExtUserForm" id="loginForm" method="post" class="form" role="form" action="@actionUrl" data-ad-action="/Admin/Public/Social/ExternalLogin.aspx?action=login&providerID=1&returnUrl=%2FDefault.aspx%3FID%3D2"> 194 <input type="hidden" name="ID" id="ID" value="@Pageview.Page.ID"> 195 <div class="form-group"> 196 <label for="Username">@Translate(masterTranslatePrefix + "Username", "Username")</label> 197 <input id="Username" name="Username" type="text" value="" class="form-control" autocomplete="off"> 198 </div> 199 <div class="form-group"> 200 <label for="Password">@Translate(masterTranslatePrefix + "Password", "Password")</label> 201 <input id="Password" name="Password" type="password" value="" class="form-control" autocomplete="off"> 202 </div> 203 <div id="loginFeedback"></div> 204 <a href="@forgotpasswordPath" class="forgot-password pull-right">@Translate(masterTranslatePrefix + "Forgot password", "Forgot password")</a> 205 <button type="submit" role="button" class="btn btn-primary" id="loginBtn" data-float="right"> 206 @Translate(masterTranslatePrefix + "Login", "Login") 207 </button> 208 </form> 209 </div> 210 </div> 211 </div> 212 </div> 213 </div> 214 215 } 216 217 else 218 { 219 try 220 { 221 if (!GetBoolean("Item.Page.ClosedPage")) 222 { 223 <text>@inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 224 @{ 225 var translationPrefix = "NavBar_"; 226 } 227 228 <nav class="navbar navbar-default navbar-fixed-top"> 229 <div class="navbar-inner"> 230 <div class="container"> 231 <div class="navbar-header"> 232 <a href="@(NORRIQ.Common8.Razor.Navigation.GetUrlByNavigationTag(" dashboard"))"="" class="navbar-brand"> 233 <img src="@Logo"> 234 </a> 235 <ul class="navbar-menu"> 236 <li class="dropdown"> 237 <a role="button" class="dropdown-toggle" id="userAccount" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> 238 <i class="mdi mdi-account"></i> 239 <span class="navbar-help">@Translate(translationPrefix + "User", "Account")</span> 240 </a> 241 <ul class="dropdown-menu dropdown-menu-right dropdown-menu-user" aria-labelledby="userAccount"> 242 <li class="dropdown-header"> 243 <strong>@GetGlobalValue("Global:Extranet.Company")</strong><br> 244 @(GetGlobalValue("NIQ:Salesperson.IsImpersonating") == "True" ? GetGlobalValue("NIQ:Salesperson.Name") : GetGlobalValue("Global:Extranet.Name")) 245 </li> 246 @RenderNavigation(new { Template = "settings.xslt", Expandmode = "all", StartLevel = 1, EndLevel = 3, Impersonating = GetGlobalValue("NIQ:Salesperson.IsImpersonating") == "True" }) 247 <li class="logout"> 248 <a href='/admin/public/extranetlogoff.aspx?ID=@(Pageview.Page.ID)'>@Translate(translationPrefix + "Log Out", "Log Out")</a> 249 @if (GetGlobalValue("NIQ:Salesperson.IsImpersonating") == "True") 250 { 251 <a href='@(NORRIQ.Common8.Razor.Navigation.GetUrlByNavigationTag("impersonation-choose-customer"))?action=changeuser'>@Translate(translationPrefix + "Change user", "Change user")</a> 252 } 253 </li> 254 </ul> 255 </li> 256 <li> 257 <a role="button" class="collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 258 <i class="mdi mdi-menu"></i> 259 <span class="navbar-help">@Translate(translationPrefix + "Menu", "Menu")</span> 260 </a> 261 </li> 262 </ul> 263 <div class="navbar-user"> 264 <div class="navbar-subbrand"> 265 <img src="/Files/Images/icons/android-icon-144x144.png"> 266 </div> 267 </div> 268 </div> 269 270 <div id="navbar" class="navbar-collapse collapse"> 271 <ul class="nav navbar-nav"> 272 @RenderNavigation(new { Template = "navbar.xslt", Expandmode = "all", StartLevel = 1, EndLevel = 1 }) 273 274 @{ 275 var isWebshopUserField = Pageview.User.CustomFieldValues.FirstOrDefault(field => (field.CustomField.SystemName == "AccessUser_IsWebshopUser")); 276 277 if (isWebshopUserField != null && isWebshopUserField.Value.Equals(true)) 278 { 279 <li> 280 <a href="/Handlers/UserManagement/WebshopLogIn.ashx"> 281 <span><i aria-hidden="true" class="mdi mdi-store"></i><span class="navbar-nav-label">Webshop</span></span> 282 </a> 283 </li> 284 } 285 } 286 <li class="dropdown visible-md visible-lg"> 287 <a role="button" class="dropdown-toggle" id="userAccount" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> 288 <span> 289 <i class="mdi mdi-account"></i> 290 @*<i class="mdi mdi-chevron-down"></i>*@ 291 <span class="navbar-nav-label">@Translate(translationPrefix + "User", "Account") <span class="caret"></span></span> 292 </span> 293 </a> 294 <ul class="dropdown-menu dropdown-menu-right dropdown-menu-user" aria-labelledby="userAccount"> 295 <li class="dropdown-header"> 296 <strong>@GetGlobalValue("Global:Extranet.Company")</strong><br> 297 @(GetGlobalValue("NIQ:Salesperson.IsImpersonating") == "True" ? GetGlobalValue("NIQ:Salesperson.Name") : GetGlobalValue("Global:Extranet.Name")) 298 </li> 299 @RenderNavigation(new { Template = "settings.xslt", Expandmode = "all", StartLevel = 1, EndLevel = 3, Impersonating = GetGlobalValue("NIQ:Salesperson.IsImpersonating") == "True" }) 300 301 <li class="logout"> 302 <a href='/admin/public/extranetlogoff.aspx?ID=@(Pageview.Page.ID)'>@Translate(translationPrefix + "Log Out", "Log Out")</a> 303 @if (GetGlobalValue("NIQ:Salesperson.IsImpersonating") == "True") 304 { 305 <a href='@(NORRIQ.Common8.Razor.Navigation.GetUrlByNavigationTag("impersonation-choose-customer"))?action=changeuser'>@Translate(translationPrefix + "Change user", "Change user")</a> 306 } 307 </li> 308 </ul> 309 </li> 310 </ul> 311 </div> 312 </div> 313 </div> 314 </nav> 315 </text> 316 } 317 } 318 catch (Exception) { } 319 <text>@inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 320 @using NORRIQ.Common8.Razor; 321 322 323 324 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 325 @using Dynamicweb.Security.UserManagement.Common.CustomFields; 326 327 @helper RenderPeriodSelector() 328 { 329 //Get period from url, or default to last user selection 330 string query = System.Web.HttpContext.Current.Request.QueryString["season"]; 331 CustomFieldValue selectedPeriod = Pageview.User.CustomFieldValues.FirstOrDefault(field => (field.CustomField.SystemName == "AccessUser_SelectedPeriod")); 332 string val = !string.IsNullOrEmpty(query) ? query : (selectedPeriod == null || selectedPeriod.Value.GetType() == typeof(DBNull)) ? "0" : selectedPeriod.Value.ToString(); 333 int? value = !string.IsNullOrEmpty(val) ? Convert.ToInt32(val) : 0; 334 335 string value0 = value == 0 ? "selected=\"selected\"" : ""; 336 string value1 = value == 1 ? "selected=\"selected\"" : ""; 337 string value2 = value == 2 ? "selected=\"selected\"" : ""; 338 string value3 = value == 3 ? "selected=\"selected\"" : ""; 339 340 <select id="periodSelector" onchange="location.href='?season=' + this.value;" class="form-control"> 341 <option value="0" @value0=""> 342 @Translate("Calendar Year", "Calendar Year") 343 </option> 344 <option value="1" @value1=""> 345 @Translate("Financial Year", "Financial Year") 346 </option> 347 <option value="2" @value2=""> 348 @Translate("Spring Season", "Spring Season") 349 </option> 350 <option value="3" @value3=""> 351 @Translate("Autumn Season", "Autumn Season") 352 </option> 353 </select> 354 } 355 ; 356 357 358 @if (!GetBoolean("Item.Page.ClosedPage")) 359 { 360 <div class="container"> 361 <div class="content-header"> 362 <h1> 363 @if (String.IsNullOrEmpty(GetString("Item.PageTitle"))) 364 { 365 @GetString("Item.Title") 366 } 367 else 368 { 369 @GetString("Item.PageTitle") 370 } 371 </h1> 372 <div class="content-header-grow clearfix"> 373 @RenderSnippet("Season")@RenderSnippet("QA") 374 </div> 375 </div> 376 </div> 377 <div class="content-container clearfix"> 378 <div class="container"> 379 <div class="row-flex"> 380 @RenderContent() 381 </div> 382 </div> 383 </div> 384 } 385 else 386 { 387 @SnippetStart("Logo") 388 <div class="card"> 389 <div class="card-logo"> 390 <img src="/Files/Images/icons/android-icon-144x144.png"> <img src="@LargeLogo"> 391 </div> 392 </div> 393 @SnippetEnd("Logo") 394 <div class="container"> 395 <div class="row"> 396 @RenderContent() 397 </div> 398 </div> 399 } 400 401 @helper RenderContent() 402 { 403 @GetValue("DwContent(placeholder)") 404 } 405 406 @SnippetStart("Season") 407 @if (GetString("Item.PageType") == "dashboard") 408 { 409 @RenderPeriodSelector() 410 } 411 @SnippetEnd("Season") 412 </text> 413 if (!GetBoolean("Item.Page.ClosedPage")) 414 { 415 <div class="footer-container"> 416 <div class="container"> 417 <div class="row-flex"> 418 419 @if (salesContactID > 0) 420 { 421 @RenderParagraphContent(salesContactID) 422 } 423 424 @if (shippingParagraphID > 0) 425 { 426 @RenderParagraphContent(shippingParagraphID) 427 } 428 429 @if (financeParagraphID > 0) 430 { 431 @RenderParagraphContent(financeParagraphID) 432 } 433 434 @if (generalContactID > 0) 435 { 436 @RenderParagraphContent(generalContactID) 437 } 438 </div> 439 @*<div class="row-fix text-center text-info"> 440 <br> 441 @{var biCubeLastUpdated = this.GetBiCubeLastUpdated();} 442 @(Translate("footer-text", "All currency is in {currency} and data was last updated {last-updated}") 443 .Replace("{currency}", GetGlobalValue("Global:eCommerce.Currency")) 444 .Replace("{last-updated}", biCubeLastUpdated.HasValue ? biCubeLastUpdated.Value.ToString("g") : "?") 445 ) 446 </div>*@ 447 </div> 448 </div> 449 } 450 } 451 452 @using DLF.MyDLF.Web.CustomCode.Razor 453 @if (GetBoolean("NIQ:JavaScriptDebug")) 454 { 455 <script src="/scripts/require.js"></script> 456 @TimestampSource2.GetJavaScriptWithTimestamp("/scripts/mydlf/main.js") 457 } 458 else 459 { 460 @TimestampSource2.GetJavaScriptWithTimestamp("/scripts/mydlf/main.min.js") 461 } 462 463 <script append="replace"></script> 464 @if (!String.IsNullOrEmpty(GetString("Item.Area.Google"))) 465 { 466 <script> 467 (function (i, s, o, g, r, a, m) { 468 i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { 469 (i[r].q = i[r].q || []).push(arguments) 470 }, i[r].l = 1 * new Date(); a = s.createElement(o), 471 m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) 472 })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); 473 474 ga('create', '@GetString("Item.Area.Google")', 'auto'); 475 ga('send', 'pageview'); 476 </script> 477 } 478 479 <script> 480 var dates = document.getElementsByName("date-override"); 481 dates.forEach(x => { 482 var date = x.getAttribute('data-override-date'); 483 x.innerHTML = new Date(date).toLocaleDateString(undefined, {timeZone:"UTC"}); 484 }); 485 </script> 486 487 488 <script> 489 var dates = document.getElementsByName("date-override-last-updated"); 490 dates.forEach(x => { 491 var date = x.getAttribute('data-override-date'); 492 if (date !== '') { 493 var realDate = new Date(date); 494 date = realDate.toLocaleDateString(undefined, { timeZone: "UTC" }) + " " + realDate.toLocaleTimeString(undefined, { timeZone: "UTC" }); 495 } 496 497 var innerHtml = x.innerHTML; 498 innerHtml = innerHtml.replace('{last-updated}', date); 499 x.innerHTML = innerHtml; 500 }); 501 </script> 502 503 @{ 504 //extend validation nmessages for different languages. 505 var locale = Pageview.Area.Culture.Split('-').FirstOrDefault() ?? string.Empty; 506 locale = locale.ToLower(); 507 //en is the standard 508 if (!locale.Equals("en")) 509 { 510 <script type="text/javascript"> 511 512 require(['jquery', 'require', 'jquery.validate'], function ($, require) { 513 require(['scripts/localization/messages_@(locale).js']); 514 }); 515 </script> 516 } 517 } 518 @if (!string.IsNullOrEmpty(gtmId) && !string.IsNullOrEmpty(userType) && !string.IsNullOrEmpty(customerNumber) && !isLoginRegistered) 519 { 520 <script type="text/javascript"> 521 window.dataLayer = window.dataLayer || []; 522 window.dataLayer.push({ 523 'event': 'login', 524 'userId': '@customerNumber', 525 'userType': '@userType' 526 }); 527 </script> 528 } 529 </body> 530 </html> 531