Logo
Error executing template "/Designs/Dwsimple/Paragraph/SavedConfigurations.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_c8a5e51eb95645c0ba885d85a1cb9e1f.Execute() in C:\inetpub\PagunetteDW\Files\Templates\Designs\Dwsimple\Paragraph\SavedConfigurations.cshtml:line 22
   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.b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 @using System; 3 @using System.Web; 4 @using System.Configuration; 5 @using System.Web.Helpers; 6 @using Pagunette.CustomModules; 7 @using Pagunette.CustomModules.Classes; 8 @using System.Dynamic; 9 @using System.Text.RegularExpressions 10 @using Pagunette.CustomModules.Classes.Perfion; 11 @using Pagunette.CustomModules.Classes.SavedConfiguration; 12 @using Pagunette.CustomModules.Classes.Perfion.XmlAbstractions; 13 @using Pagunette.CustomModules.Utils; 14 @using Pagunette.Models; 15 @using Newtonsoft.Json; 16 17 @{ 18 Layout = null; 19 20 bool hasSavedConf = false; 21 List<string> lstSavedConfiguration = new List<string>(); 22 if (!string.IsNullOrEmpty(Pageview.User.CustomFieldValues.Find(x => x.CustomField.Name == "ConfSaved").Value.ToString())) 23 { 24 hasSavedConf = true; 25 foreach (string queryString in Pageview.User.CustomFieldValues.Find(x => x.CustomField.Name == "ConfSaved").Value.ToString().Split('~')) 26 { 27 lstSavedConfiguration.Add(queryString); 28 } 29 } 30 31 var currency = Pageview.User != null && !string.IsNullOrEmpty(Pageview.User.Currency) ? Pageview.User.Currency : Pageview.Area.EcomCurrencyId; 32 int savedConfigurationIndex = 0; 33 int currUserId = Pageview.User.ID; 34 var varer = ConfiguratorPerfionTasks.GetConfiguratorVarer(PerfionSettings.PerfionLanguageID); 35 36 } 37 <script> 38 function loader() { 39 //Spinner 40 var opts = { 41 lines: 9, // The number of lines to draw 42 length: 0, // The length of each line 43 width: 10, // The line thickness 44 radius: 18, // The radius of the inner circle 45 corners: 1, // Corner roundness (0..1) 46 rotate: 0, // The rotation offset 47 direction: 1, // 1: clockwise, -1: counterclockwise 48 color: '#000', // #rgb or #rrggbb or array of colors 49 speed: 1, // Rounds per second 50 trail: 35, // Afterglow percentage 51 shadow: false, // Whether to render a shadow 52 hwaccel: false, // Whether to use hardware acceleration 53 className: 'spinner', // The CSS class to assign to the spinner 54 zIndex: 2e9, // The z-index (defaults to 2000000000) 55 top: '50%', // Top position relative to parent 56 left: '50%' // Left position relative to parent 57 }; 58 59 var target = document.getElementById('orderlist'); 60 var spinner = new Spinner(opts).spin(target); 61 62 document.getElementById('savedConfiguratationList').style.visibility = "hidden"; 63 } 64 </script> 65 66 <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.0/css/bootstrap-datepicker.min.css" media="screen"> 67 68 <section> 69 <form name="ordersubmit" id="ordersubmit" class="form-light form-horizontal"> 70 <div class="w-section inverse shop"> 71 <div class="saved-config"> 72 <br /> 73 <h5>@Translate("SavedConfigurations price change warning", "Pris ændringer kan forkomme for de enkelte konfigurationer, ved ændringer af konfigurationen, eller ved pris ændringer på de enkelte elementer.")</h5> 74 <br /> 75 <div style="margin-bottom:10px" id="buttonWrapper"> 76 <div id="addMarkedToBasket" data-toggle="modal" data-target="#confirmAddToBasket" class="btn btn-dw-cart"><strong>@Translate("AddMarkedToCart", "Flyt markeret til kurv")</strong></div> 77 <div id="deleteMarked" data-toggle="modal" data-target="#confirmDelete" class="btn btn-dw-cart"><strong>@Translate("DeleteMarked", "Slet markeret")</strong></div> 78 </div> 79 <table class="table table-cart table-responsive" id="orderlist"> 80 <tbody id="savedConfiguratationList"> 81 @if (hasSavedConf) 82 { 83 foreach (string str in lstSavedConfiguration) 84 { 85 try 86 { 87 88 89 string image = string.Empty; 90 string comment = ""; 91 string[] commaFix = Regex.Split(str, "&C="); 92 string queryStr = commaFix[0].Replace(',', '.') + "&C=" + HttpUtility.UrlEncode(commaFix[1]); 93 94 Dictionary<string, string> dictConfigurations = new Dictionary<string, string>(); 95 96 string[] xCor = str.Split('&'); 97 for (int yCor = 0; yCor < xCor.Length; yCor++) 98 { 99 string[] param = xCor[yCor].Split('='); 100 101 if (param.Length == 1) 102 { 103 dictConfigurations.Add(param[0], ""); 104 } 105 else 106 { 107 dictConfigurations.Add(param[0], param[1]); 108 } 109 } 110 111 var configData = new ConfigJson() { index = savedConfigurationIndex, configData = queryStr, title = dictConfigurations["CName"] }; 112 113 if (dictConfigurations.ContainsKey("C")) 114 { 115 comment = dictConfigurations["C"]; 116 } 117 118 if (dictConfigurations.ContainsKey("PIU") && dictConfigurations["PIU"] != "") 119 { 120 image = PIMComUtilities.GetPerfionImageUrl(dictConfigurations["PIU"], "100x100"); 121 } 122 123 <tr class="orderline-product-row orderline-product-row--header"> 124 <th class="dw-table-title"> 125 <strong> 126 @if (!string.IsNullOrEmpty(image)) 127 { 128 <img src="@image" class="" width="70" /> 129 } 130 </strong> 131 </th> 132 <th colspan="2" class="dw-table-title"> 133 <strong> 134 <span class=""> 135 @if (dictConfigurations.ContainsKey("V")) 136 { 137 ConfiguratorVareModel vareName = varer.FirstOrDefault(x => x.ID == dictConfigurations["V"]); 138 @vareName.RelProductName 139 } 140 </span> 141 </strong> 142 </th> 143 <th class="dw-table-title"> 144 <span class=""> 145 @if (dictConfigurations.ContainsKey("CName")) 146 { 147 @dictConfigurations["CName"] 148 <br /> 149 } 150 @if (dictConfigurations.ContainsKey("D")) 151 { 152 @dictConfigurations["D"] 153 } 154 </span> 155 </th> 156 <th class="dw-table-title"> 157 @Translate("Mark", "Markere") 158 <div><input type="checkbox" value='@JsonConvert.SerializeObject(configData)' data-bind="checked: markedConfigs" /></div> 159 </th> 160 </tr> 161 <tr> 162 <th colspan="3"> 163 <button data-konfiguration='@JsonConvert.SerializeObject(configData)' data-bind="click: addToBasket.bind($data, event, '@currUserId'), disable: buttonWorking" class="btn btn-dw-cart pull-left"><strong>@Translate("Add to cart", "Add to cart")</strong></button> 164 </th> 165 <th> 166 <a href="" onclick="loader();" data-bind="click: removeProduct.bind($data, @savedConfigurationIndex, @currUserId) " title=""><i class="fa fa-trash-o"></i></a> 167 </th> 168 </tr> 169 <tr class="orderline-product-row configurator-product-row"> 170 <td colspan="3" class="text-left">@Translate("Metervare", "Metervare:")</td> 171 <td class="text-left">@dictConfigurations["P"]</td> 172 173 </tr> 174 175 if (dictConfigurations.ContainsKey("CB")) 176 { 177 <tr class="orderline-product-row configurator-product-row"> 178 <td colspan="3" class="text-left">@Translate("IsTurned", "Vendes vandret:")</td> 179 180 @if (dictConfigurations["CB"] == "1") 181 { 182 <td class="text-left">@Translate("Ja", "Ja")</td> 183 } 184 else 185 { 186 <td class="text-left">@Translate("Nej", "Nej")</td> 187 } 188 </tr> 189 190 <tr class="orderline-product-row configurator-product-row"> 191 <td colspan="3" class="text-left">@Translate("Bredde", "Bredde:")</td> 192 <td class="text-left">@dictConfigurations["W"] cm</td> 193 </tr> 194 195 } 196 197 if (dictConfigurations.ContainsKey("H")) 198 { 199 <tr class="orderline-product-row configurator-product-row"> 200 <td colspan="3" class="text-left">@Translate("Højde", "Højde:")</td> 201 <td class="text-left">@dictConfigurations["H"] cm</td> 202 </tr> 203 } 204 205 if (dictConfigurations["VT"] == "G") 206 { 207 if (dictConfigurations.ContainsKey("QL") || dictConfigurations.ContainsKey("QR")) 208 { 209 <tr class="orderline-product-row configurator-product-row"> 210 <td colspan="3" class="text-left">@Translate("QuantityHalvBreddeLeft", "Antal Halv bredde venstre side:")</td> 211 @if (dictConfigurations.ContainsKey("QL")) 212 { 213 <td class="text-left">@(dictConfigurations["QL"])</td> 214 } 215 else 216 { 217 <td class="text-left">0</td> 218 } 219 </tr> 220 221 <tr class="orderline-product-row configurator-product-row"> 222 <td colspan="3" class="text-left">@Translate("QuantityHalvBreddeRight", "Antal Halv bredde højre side:")</td> 223 @if (dictConfigurations.ContainsKey("QR")) 224 { 225 <td class="text-left">@(dictConfigurations["QR"])</td> 226 } 227 else 228 { 229 <td class="text-left">0</td> 230 } 231 </tr> 232 } 233 } 234 235 if (dictConfigurations.ContainsKey("FP")) 236 { 237 <tr class="orderline-product-row configurator-product-row"> 238 <td colspan="3" class="text-left">@Translate("Foer", "Foer:")</td> 239 <td class="text-left">@dictConfigurations["FP"]</td> 240 </tr> 241 242 <tr class="orderline-product-row configurator-product-row"> 243 <td colspan="3" class="text-left">@Translate("IsTurned", "Vendes vandret:")</td> 244 @if (dictConfigurations.ContainsKey("IT")) 245 { 246 <td class="text-left">@dictConfigurations["IT"])</td> 247 // @Translate("Ja", "Ja") ?? 248 } 249 else 250 { 251 <td class="text-left">@Translate("Nej", "Nej")</td> 252 253 } 254 </tr> 255 } 256 257 if (dictConfigurations.ContainsKey("TF")) 258 { 259 <tr class="orderline-product-row configurator-product-row"> 260 <td colspan="3" class="text-left">@Translate("TopFlap", "Top Flap: ")</td> 261 <td class="text-left">@dictConfigurations["TF"]</td> 262 </tr> 263 } 264 265 if (dictConfigurations.ContainsKey("BF")) 266 { 267 <tr class="orderline-product-row configurator-product-row"> 268 <td colspan="3" class="text-left">@Translate("BottomFlap", "Bund Flap: ")</td> 269 <td class="text-left">@dictConfigurations["BF"]</td> 270 </tr> 271 } 272 273 if (dictConfigurations.ContainsKey("S")) 274 { 275 <tr class="orderline-product-row configurator-product-row"> 276 <td colspan="3" class="text-left">@Translate("Styring", "Styring: ")</td> 277 <td class="text-left">@dictConfigurations["S"]</td> 278 </tr> 279 } 280 281 if (dictConfigurations.ContainsKey("SL")) 282 { 283 <tr class="orderline-product-row configurator-product-row"> 284 <td colspan="3" class="text-left">@Translate("StyringLaengder", "Længde: ")</td> 285 <td class="text-left">@dictConfigurations["SL"] cm</td> 286 </tr> 287 } 288 289 if (dictConfigurations["VT"] == "L") 290 { 291 <tr class="orderline-product-row configurator-product-row"> 292 <td colspan="3" class="text-left">@Translate("QuantityStyringLeft", "Antal med venstre styring :")</td> 293 @if (dictConfigurations.ContainsKey("QL")) 294 { 295 <td class="text-left">@(dictConfigurations["QL"])</td> 296 } 297 else 298 { 299 <td class="text-left">0</td> 300 } 301 </tr> 302 303 <tr class="orderline-product-row configurator-product-row"> 304 <td colspan="3" class="text-left">@Translate("QuantityStyringRight", "Antal med højre styring :")</td> 305 @if (dictConfigurations.ContainsKey("QR")) 306 { 307 <td class="text-left">@(dictConfigurations["QR"])</td> 308 } 309 else 310 { 311 <td class="text-left">0</td> 312 } 313 </tr> 314 } 315 316 if (dictConfigurations.ContainsKey("Rh")) 317 { 318 <tr class="orderline-product-row configurator-product-row"> 319 <td colspan="3" class="text-left">@Translate("Rynkehoved", "Rynkehoved: ")</td> 320 <td class="text-left">@dictConfigurations["Rh"] cm</td> 321 </tr> 322 } 323 324 if (dictConfigurations.ContainsKey("Lg")) 325 { 326 <tr class="orderline-product-row configurator-product-row"> 327 <td colspan="3" class="text-left">@Translate("Loebegang", "Løbegang: ")</td> 328 <td class="text-left">@dictConfigurations["Lg"] cm</td> 329 </tr> 330 } 331 332 if (dictConfigurations.ContainsKey("R")) 333 { 334 <tr class="orderline-product-row configurator-product-row"> 335 <td colspan="3" class="text-left">@Translate("Rings", "Ring: ")</td> 336 <td class="text-left">@dictConfigurations["R"]</td> 337 </tr> 338 } 339 340 if (dictConfigurations.ContainsKey("BS") && dictConfigurations["VT"] != "Liftgardin") 341 { 342 <tr class="orderline-product-row configurator-product-row"> 343 <td colspan="3" class="text-left">@Translate("Bundsoem", "Bundsøm: ")</td> 344 <td class="text-left">@dictConfigurations["BS"]</td> 345 </tr> 346 } 347 348 if (dictConfigurations.ContainsKey("TT")) 349 { 350 <tr class="orderline-product-row configurator-product-row"> 351 <td colspan="3" class="text-left">@Translate("TapeTypes", "Tape type: ")</td> 352 <td class="text-left">@dictConfigurations["TT"]</td> 353 </tr> 354 } 355 356 if (dictConfigurations.ContainsKey("HR") && dictConfigurations["HR"] == "Yes") 357 { 358 <tr class="orderline-product-row configurator-product-row"> 359 <td colspan="3" class="text-left">@Translate("Rynkning", "Rynkning: ")</td> 360 <td class="text-left">@Translate("Yes", "Ja")</td> 361 </tr> 362 363 if (dictConfigurations.ContainsKey("FBER")) 364 { 365 <tr class="orderline-product-row configurator-product-row"> 366 <td colspan="3" class="text-left">@Translate("RynkningValue", "Færdig bredde efter rynkning: ")</td> 367 <td class="text-left">@dictConfigurations["FBER"]</td> 368 </tr> 369 } 370 } 371 372 if (dictConfigurations.ContainsKey("TH")) 373 { 374 <tr class="orderline-product-row configurator-product-row"> 375 <td colspan="3" class="text-left">@Translate("TotalHaegter", "Antal hægter: ")</td> 376 <td class="text-left">@dictConfigurations["TH"] @Translate("Pergardin", "Pr. færdig gardin")</td> 377 </tr> 378 } 379 380 if (dictConfigurations.ContainsKey("PIL")) 381 { 382 <tr class="orderline-product-row configurator-product-row"> 383 <td colspan="3" class="text-left">@Translate("PlaceringILomme", "Placering i lomme: ")</td> 384 <td class="text-left">@dictConfigurations["PIL"]</td> 385 </tr> 386 } 387 388 if (dictConfigurations.ContainsKey("KA")) 389 { 390 <tr class="orderline-product-row configurator-product-row"> 391 <td colspan="3" class="text-left">@Translate("KouserAntal", "Kouser: ")</td> 392 <td class="text-left">@dictConfigurations["KA"]/td> 393 </tr> 394 } 395 396 if (dictConfigurations.ContainsKey("K")) 397 { 398 <tr class="orderline-product-row configurator-product-row"> 399 <td colspan="3" class="text-left">@Translate("Kaede", "Kæde: ")</td> 400 <td class="text-left">@dictConfigurations["K"]</td> 401 </tr> 402 } 403 404 if (dictConfigurations.ContainsKey("TL")) 405 { 406 <tr class="orderline-product-row configurator-product-row"> 407 <td colspan="3" class="text-left">@Translate("Tvaerlister", "Tværlister monteret: ")</td> 408 <td class="text-left">@dictConfigurations["TL"]</td> 409 </tr> 410 } 411 412 if (dictConfigurations.ContainsKey("STM")) 413 { 414 <tr class="orderline-product-row configurator-product-row"> 415 <td colspan="3" class="text-left">@Translate("Typesyning", "Type syning: ")</td> 416 <td class="text-left">@dictConfigurations["STM"]</td> 417 </tr> 418 } 419 420 if (dictConfigurations.ContainsKey("FLA")) 421 { 422 <tr class="orderline-product-row configurator-product-row"> 423 <td colspan="3" class="text-left">@Translate("Fastelaegantal", "Antal faste læg: ")</td> 424 <td class="text-left">@dictConfigurations["FLA"]</td> 425 </tr> 426 } 427 428 if (dictConfigurations.ContainsKey("LHN")) 429 { 430 <tr class="orderline-product-row configurator-product-row"> 431 <td colspan="3" class="text-left"> @Translate("Fastelaeghøjde", "Højde på læg: ")</td> 432 <td class="text-left">@dictConfigurations["LHN"]</td> 433 </tr> 434 } 435 436 if (dictConfigurations.ContainsKey("FLB")) 437 { 438 <tr class="orderline-product-row configurator-product-row"> 439 <td colspan="3" class="text-left"> @Translate("FasteLaegFinishWidthValue", "Færdig bredde med læg: ")</td> 440 <td class="text-left">@dictConfigurations["FLB"] cm</td> 441 </tr> 442 } 443 444 if (dictConfigurations.ContainsKey("PSN")) 445 { 446 <tr class="orderline-product-row configurator-product-row"> 447 <td colspan="3" class="text-left">@Translate("PudeSy", "Pudekant syning: ")</td> 448 <td class="text-left">@dictConfigurations["PSN"]</td> 449 </tr> 450 } 451 452 if (dictConfigurations.ContainsKey("PKN")) 453 { 454 <tr class="orderline-product-row configurator-product-row"> 455 <td colspan="3" class="text-left">@Translate("PudeKant", "Pudekant bredde: ")</td> 456 <td class="text-left">@dictConfigurations["PKN"]</td> 457 </tr> 458 } 459 460 if (dictConfigurations.ContainsKey("BMN")) 461 { 462 <tr class="orderline-product-row configurator-product-row"> 463 <td colspan="3" class="text-left">@Translate("BandorModel", "Bandor model: ")</td> 464 <td class="text-left">@dictConfigurations["BMN"]</td> 465 </tr> 466 } 467 468 if (dictConfigurations.ContainsKey("PRICE")) 469 { 470 var currencyService = new Dynamicweb.Ecommerce.International.CurrencyService(); 471 var confPrice = dictConfigurations["PRICE"]; 472 double confPriceOut = 0; 473 double.TryParse(confPrice, out confPriceOut); 474 475 // 476 477 478 <tr class="orderline-product-row configurator-product-row"> 479 <td colspan="3" class="text-left">@Translate("SavedConfPrice", "Pris: ")</td> 480 <td class="text-left">@currencyService.Format(currencyService.GetCurrencyForCode(currency), (confPriceOut / 100), false)</td> 481 </tr> 482 } 483 <tr class="orderline-product-row"> 484 <td colspan="5" class="text-left"> 485 486 <textarea class="orderline-comment js-orderfield-auto-store" style="max-width: 1025px" 487 placeholder="@Translate("OrderLineComment", "Evt. kommentar til ")" disabled> @comment 488 </textarea> 489 </td> 490 </tr> 491 492 savedConfigurationIndex++; 493 } 494 catch 495 { 496 try 497 { 498 string[] commaFix = Regex.Split(str, "&C="); 499 string queryStr = commaFix[0].Replace(',', '.') + "&C=" + HttpUtility.UrlEncode(commaFix[1]); 500 501 Dictionary<string, string> dictConfigurations = new Dictionary<string, string>(); 502 503 string[] xCor = str.Split('&'); 504 for (int yCor = 0; yCor < xCor.Length; yCor++) 505 { 506 string[] param = xCor[yCor].Split('='); 507 508 if (param.Length == 1) 509 { 510 dictConfigurations.Add(param[0], ""); 511 } 512 else 513 { 514 dictConfigurations.Add(param[0], param[1]); 515 } 516 } 517 <tr class="orderline-product-row orderline-product-row--header"> 518 <th colspan="4" class="dw-table-title"> 519 <strong> 520 <span class="col-md-9"> 521 @Translate("SavedConfigurationError", "Konfiguration har en fejl") 522 </span> 523 <span class="col-md-2"> 524 @if (dictConfigurations.ContainsKey("CName")) 525 { 526 @dictConfigurations["CName"] 527 <br /> 528 } 529 </span> 530 </strong> 531 </th> 532 </tr> 533 534 } 535 catch 536 { 537 <tr class="orderline-product-row orderline-product-row--header"> 538 <th colspan="4" class="dw-table-title"> 539 <strong> 540 @Translate("SavedConfigurationErrorContact", "Konfiguration har en fejl, kontakt Pagunette") 541 </strong> 542 </th> 543 </tr> 544 } 545 } 546 } 547 } 548 </tbody> 549 </table> 550 </div> 551 </div> 552 </form> 553 </section> 554 555 <div class="modal fade" id="confirmDelete" tabindex="-1" role="dialog" aria-labelledby="" aria-hidden="true"> 556 <div class="modal-dialog" role="document"> 557 <div class="modal-content"> 558 <div class="modal-header"> 559 <h5 class="modal-title" id="">@Translate("ConfirmDelete", "Bekræft sletning")</h5> 560 </div> 561 <div class="modal-body"> 562 <div data-bind="foreach: showMarked()"> 563 <div data-bind="text: title"></div> 564 </div> 565 </div> 566 <div class="modal-footer"> 567 <button type="button" class="btn btn-secondary" data-dismiss="modal">@Translate("cancel", "Annullere")</button> 568 <button type="button" class="btn btn-primary" data-bind="click: deleteMarked.bind($data, '@currUserId'), disable: buttonWorking">@Translate("DeleteMarked", "Slet markeret")</button> 569 </div> 570 </div> 571 </div> 572 </div> 573 574 <div class="modal fade" id="confirmAddToBasket" tabindex="-1" role="dialog" aria-labelledby="" aria-hidden="true"> 575 <div class="modal-dialog" role="document"> 576 <div class="modal-content"> 577 <div class="modal-header"> 578 <h5 class="modal-title" id="">@Translate("ConfirmAddToBasketTitle", "Bekræft flytning til kurven")</h5> 579 </div> 580 <div class="modal-body"> 581 @Translate("ConfirmAddToBasket", "Følgende konfigurationer bliver lagt i kurven og slettet fra gemte konfigurationer:") 582 <div data-bind="foreach: showMarked()"> 583 <div data-bind="text: title"></div> 584 </div> 585 </div> 586 <div class="modal-footer"> 587 <button type="button" class="btn btn-secondary" data-dismiss="modal">@Translate("cancel", "Annullere")</button> 588 <button type="button" class="btn btn-primary" id="confirmAddToBasketButton" data-bind="click: addMarkedToBasket.bind($data, '@currUserId'), disable: buttonWorking">@Translate("AddMarkedToCart", "Flyt markeret til kurv")</button> 589 </div> 590 </div> 591 </div> 592 </div> 593 594 595 <script type="text/javascript"> 596 597 ConfiguratorSettings = { 598 PerfionLanguage: '@PerfionSettings.PerfionLanguageID', 599 Currency: '@currency', 600 GetProductUrl: '/Configurator/GetProduct', 601 GetForProductUrl: '/Configurator/GetForProduct', 602 GetVarerUrl: '/Configurator/GetVarer', 603 GetConfiguratorElementsUrl: '/Configurator/GetConfiguratorElements', 604 GetPriceDetailsUrl: '/Configurator/GetPriceDetails', 605 AddToBasketUrl: '/Configurator/AddToBasket', 606 RemoveConfigurationUrl: '/Configurator/RemoveConfiguration', 607 BasketUrl: '/Default.aspx?ID=@Pageview.Area.Item["CartPageId"]', 608 AddToBasketError: '@Translate("SavedConfigurationAddToBasketError","Fejl ved Læg i Kurv")' 609 }; 610 </script> 611 612 <script src="/Scripts/knockout-3.4.2.js" defer="defer"></script> 613 <script src="/Scripts/knockout.mapping-latest.js" defer="defer"></script> 614 615 <script src="~/Files/Templates/Designs/Dwsimple/js/pages/SavedConfigurations.js?v=3" defer="defer"></script>
Accept cookies from this site

This website uses cookies to track your behavior and to improve your experience on the site
You can always delete saved cookies by visiting the advanced settings of your browser
You can read our cookie policy here.

Do not accept cookies Only accept functional cookies Accept all cookies