Velkommen i Eltons butik

I 2020 introducerede EL-Salg deres reklameunivers "Eltons butik" med standup komikeren Torben Chris i rollen som butiksindehaveren ELTON der elsker at lave gas med sine lokale kunder 🤣 - men serviceniveauet dét går han altså ikke ned på. I EL-Salg’s butikker er kunden nemlig altid i fokus 😎 

I vores mere end 140 butikker rundt i Danmark har vi nogle af Danmarks førende fagfolk indenfor salg af hårde hvidevare og forbrugerelektronik. Mange af vores ”Elton’er” holder til ude i lokalområderne, hvor deres relationer til de lokale kunder er tæt - ja måske så tæt at de er på fornavn med hinanden, og har en uformel dialog med hinanden. Elton er med andre ord en fagmand med en solid ekspertviden i bagagen, der har fokus på den moderne forbrugers behov og gør det ofte med et glimt i øjet og til konkurrencedygtige priser.

Elton øser glædeligt ud med råd og vejledning – og så tilbyder han selvfølgelig også en god service! - Se alle vores reklamefilm nedenfor, som du kan støde på i både TV og på sociale medier, ligesom du også ofte vil kunne høre Elton i radiospots.

#DetSguService

Det' sgu service

Alle vores Elton’er rundt i Danmark er altid klar til at hjælpe dig. Hos El-Salg vil vi gerne give vores kunder en god service. Og det er netop også derfor du f.eks. hos os får hele 4 års garanti på en lang række af vores hårde hvidevarer. Det er en ekstra tryghed for dig, og et udtryk for at det er produkter som vi kan stå inde for.

Hos El-salg er service mere end blot garanti. Vi leverer og monterer selvfølgelig også gerne dine hvidevarer, så du selv er fri for det.

Er du nysgerrig efter at møde din lokale Elton? Når du køber en vare på elsalg.dk, kan du vælge at afhente* den i en af vores butikker. Butikken kontakter dig, når varen er ankommet.

*Ved enkle varegrupper er ”Hent selv” ikke en mulighed.

Eltons udvalgte produkter med 4 års garanti

 

Error executing template "/Designs/elsalg/frontpage/Paragraph/WidgetRaptorProductsNative.cshtml"
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.Convert.ToDecimal(String value)
   at CompiledRazorTemplates.Dynamic.RazorEngine_49e394662523438ca5f2fbf5bc95e396.Execute() in D:\websites\elsalg.dk\application(9.12.1)\Files\Templates\Designs\elsalg\frontpage\Paragraph\WidgetRaptorProductsNative.cshtml:line 164
   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 System.Net; 2 @using System.Web; 3 @using eela.custom; 4 @using eela.custom.Providers; 5 @using Newtonsoft.Json; 6 @using Newtonsoft.Json.Linq; 7 @using System.Text.RegularExpressions 8 @using Dynamicweb.Ecommerce; 9 @using Dynamicweb.Ecommerce.Products; 10 @using Dynamicweb.Ecommerce.Shops; 11 @{ 12 var parameterName = GetValue("Item.SectionName") != null && !string.IsNullOrWhiteSpace(GetValue("Item.SectionName").ToString()) ? GetValue("Item.SectionName").ToString() : String.Empty; 13 var parameterValue = GetValue("Item.SectionValue") != null && !string.IsNullOrWhiteSpace(GetValue("Item.SectionValue").ToString()) ? GetValue("Item.SectionValue").ToString() : String.Empty; 14 var raptorIntegrationType = GetValue("Item.RaptorIntegrationType") != null && !string.IsNullOrWhiteSpace(GetValue("Item.RaptorIntegrationType").ToString()) ? GetValue("Item.RaptorIntegrationType").ToString() : "GetOverallTopVisits"; 15 16 var productCount = GetValue("Item.NoOf_Products") != null && !string.IsNullOrWhiteSpace(GetValue("Item.NoOf_Products").ToString()) ? int.Parse(GetValue("Item.NoOf_Products").ToString()) : 10; 17 18 if (productCount < 1) 19 { 20 productCount = 10; 21 22 } 23 24 List<Dynamicweb.Ecommerce.Products.Product> products = new List<Dynamicweb.Ecommerce.Products.Product>(); 25 26 if (raptorIntegrationType == "GetTopSellingInCagegory") { raptorIntegrationType = "GetTopSellingInCategory"; } 27 if (!string.IsNullOrWhiteSpace(parameterName) && !string.IsNullOrWhiteSpace(parameterValue)) 28 { 29 products = eela.custom.Raptor.GetRaptorItems(raptorIntegrationType, parameterName, parameterValue, productCount); 30 } 31 else 32 { 33 products = eela.custom.Raptor.GetRaptorItems(raptorIntegrationType, productCount); 34 } 35 36 if (products.Count < 1) { return; } 37 } 38 39 40 <script> 41 function formatPrice(fPrice) { 42 document.write(fPrice.replace(/,00$/, ',-')); 43 } 44 $(document).ready(function () { 45 var $owlProducts = $('.owl-products'); 46 47 function checkWidth() { 48 var windowSize = $(window).width(); 49 if (windowSize > 1199) { 50 $owlProducts.owlCarousel({ 51 margin: 24, 52 dots: false, 53 responsiveClass: true, 54 slideBy: "page", 55 responsive: { 56 0: { 57 items: 1, 58 nav: true 59 }, 60 600: { 61 items: 3, 62 nav: true 63 }, 64 1000: { 65 items: 4, 66 nav: true, 67 loop: false 68 } 69 } 70 }); 71 $owlProducts.removeClass('scroll-mobile'); 72 } else { 73 $owlProducts.addClass('scroll-mobile'); 74 $owlProducts.owlCarousel('destroy'); 75 } 76 } 77 78 checkWidth(); 79 80 $(window).on("resize", checkWidth); 81 82 $(".item-assortment-link").on('click', function (event) { 83 event.preventDefault(); 84 var newURl = $(this).attr('data-url'); 85 location.href = newURl; 86 //window.open(newURl,'_blank'); 87 }); 88 }); 89 90 </script> 91 92 93 94 <div class="widget-products"> 95 <div class="container_4 clearfix"> 96 97 <div class="title"> 98 <div class="container_4 clearfix"> 99 <div class="grid_4"> 100 <h1>@GetString("Item.Title")</h1> 101 </div> 102 </div> 103 </div> 104 105 <div class="product-grid"> 106 <div class="tabs-items tab-items-product"> 107 108 <section class="tab-item current clearfix"> 109 110 <div class="owl-wrapp"> 111 <div id="raptor-recomendations-@raptorIntegrationType" class="owl-products owl-carousel owl-theme @(products.Count() < 4 ? "owl-center" : null)"> 112 @foreach (Dynamicweb.Ecommerce.Products.Product product in products) 113 { 114 if (string.IsNullOrWhiteSpace(product.Name)) { continue; } 115 116 string price = product.GetPrice("DKK","DK").PriceWithVAT.ToString("0,0.00"); 117 string priceDiscount = Services.Products.GetProductFieldValue(product, "ELSUnitSavings").ToString(); 118 bool hasDiscount = false; 119 if (Convert.ToDecimal(priceDiscount) != 0) 120 { 121 hasDiscount = true; 122 } 123 string priceBefore = (hasDiscount) ? (Convert.ToDouble(priceDiscount) + Convert.ToDouble(price)).ToString() : "0"; 124 125 string baseUrl = String.Format("Default.aspx?ID={0}&ProductID={1}", "9", product.Id); 126 string url = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(baseUrl).ToString(); 127 string buyURL = String.Format("{0}?cartcmd=add", url); 128 129 var primaryGroup = ProductProvider.GetPrimaryParentGroup(product.Id); 130 var elsEnergy = product.ProductFieldValues.GetProductFieldValue("ELSEnergy").Value.ToString(); 131 var energyImgPath = ProductProvider.GetEnergyImagePath(product.ProductFieldValues.GetProductFieldValue("ELSEan").Value.ToString(), elsEnergy, primaryGroup.Id.Replace("-at-SHOP1", "")); 132 133 <div id="recomendation-@product.Id"> 134 <article class="product @(hasDiscount ? "has-discount" : "")" title="@product.Name"> 135 <div class="product-content"> 136 137 <a class="clearfix product-link-box" href="@url" data-raptorrecommendation="productId:@product.Id"> 138 <div class="image"> 139 <div> 140 @if (!ProductProvider.ElectraImgExists(product.ProductFieldValues.GetProductFieldValue("ELSEan").Value.ToString(), product.Number)) 141 { 142 <img src="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/@(product.ProductFieldValues.GetProductFieldValue("ELSAlternatePictureID").Value.ToString() == "" ? "0000000000001" : product.ProductFieldValues.GetProductFieldValue("ELSAlternatePictureID").Value.ToString()).png&amp;image=/files/ELSALG/eCom/Pictures/@(product.ProductFieldValues.GetProductFieldValue("ELSEan").Value.ToString()).png&amp;width=255&amp;height=255&amp;crop=5" alt="@product.Name" /> 143 } 144 else 145 { 146 var electraImgUrl = ProductProvider.GetElectraImgUrl(product.Number); 147 148 <img src="@electraImgUrl" alt="@product.Name" /> 149 } 150 </div> 151 152 @*----- Render all labels related to the product notes. ----- *@ 153 154 @{ 155 156 var productSymbolsValue = product.ProductFieldValues.GetProductFieldValue("ELSProductSymbols").Value.ToString(); 157 var elsAssortmentId = product.ProductFieldValues.GetProductFieldValue("ELSAssortmentID").Value.ToString().ToLower(); 158 159 160 <div class="label-info"> 161 162 @if (hasDiscount) 163 { 164 <div class="item save">@(Convert.ToDecimal("Spar " + Convert.ToDouble(priceDiscount).ToString("0,0.00").Replace(",00", ",-")))</div> 165 } 166 167 @if (!string.IsNullOrWhiteSpace(productSymbolsValue.Trim())) 168 { 169 var productSymbols = JArray.Parse(productSymbolsValue) as JArray; 170 171 foreach (var productSymbol in productSymbols) 172 { 173 <div class="item online">@productSymbol["description"]</div> 174 } 175 } 176 177 @if (elsAssortmentId == "5ps") 178 { 179 <div class="item rate"> 180 Rente-og gebyrfrit 181 <span class="link item-assortment-link" data-url="/meddethele"> 182 Læs mere her! 183 </span> 184 </div> 185 } 186 </div> 187 188 <div class="label-marks"> 189 @if (!string.IsNullOrWhiteSpace(productSymbolsValue.Trim())) 190 { 191 var productSymbols = JArray.Parse(productSymbolsValue) as JArray; 192 193 foreach (var productSymbol in productSymbols) 194 { 195 <div class="item"> 196 <img src="/files/images/symbols/@(productSymbol["value"])" alt="" /> 197 </div> 198 } 199 } 200 </div> 201 } 202 </div> 203 204 <div class="text"> 205 <div class="description"> 206 <div class="title-content"> 207 <div class="title"> 208 @TruncateAtWords(product.Name.ToString(), 56) 209 </div> 210 <p class="productsubheader"> 211 @product.ProductFieldValues.GetProductFieldValue("ELSProductSubHeader").Value 212 </p> 213 </div> 214 @product.ProductFieldValues.GetProductFieldValue("ELSProductShortText").Value 215 216 </div> 217 <div class="pricing clearfix"> 218 <div class="prod-spec-tab d-flex justify-content-between"><a href="@string.Format("{0}?tab=specifications", url)">Produktdatablad</a> 219 @if (hasDiscount) 220 { 221 <span class="">Før @Convert.ToDouble(priceBefore).ToString("0,0.00").Replace(",00", ",-")</span> 222 } 223 </div> 224 225 <div class="clearfix"> 226 <span class="discount">@("Spar " + Convert.ToDouble(priceDiscount).ToString("0,0.00").Replace(",00", ",-"))</span> 227 <span class="price"> 228 <script>formatPrice('@ProductExtensions.GetCustomPrice(product)')</script> 229 @if (elsAssortmentId == "5ps") 230 { 231 <span class="month-price-text">Rentefrit pr. md.</span> 232 } 233 </span> 234 @if (!string.IsNullOrEmpty(energyImgPath)) 235 { 236 <span class="energy-pg"> 237 <a href="@string.Format("{0}?tab=specifications", url)"> 238 <img src="@energyImgPath" alt="" /> 239 </a> 240 </span> 241 } 242 <div class="buy"> 243 <div onclick="AddToCartWithSupplemental('@buyURL', '@product.Number', '@product.Id', '@HttpUtility.JavaScriptStringEncode(product.Name.Replace("''", ""))');return false;" class="button skipSwipable"> 244 Køb 245 </div> 246 </div> 247 </div> 248 <div class="delivery-text">@product.ProductFieldValues.GetProductFieldValue("ELSDeliveryText").Value.ToString()</div> 249 </div> 250 </div> 251 </a> 252 </div> 253 </article> 254 </div> 255 } 256 </div> 257 </div> 258 </section> 259 </div> 260 </div> 261 </div> 262 </div> 263 264 @functions 265 { 266 string TruncateAtWords(string html, int maxCharacters) 267 { 268 if (html == null || (html = html.Trim()).Length <= maxCharacters || string.IsNullOrEmpty(html)) 269 return html; 270 271 int index = html.Trim().LastIndexOf(" "); 272 while ((index + 3) > maxCharacters) 273 index = html.Substring(0, index).Trim().LastIndexOf(" "); 274 275 if (index > 0) 276 return html.Substring(0, index) + " &hellip;"; 277 278 return html.Substring(0, maxCharacters - 3) + " &hellip;"; 279 } 280 }

Torben Chris I rollen som den lokale butiksindehaver Elton!

I 2020 introducerede EL-Salg deres reklameunivers "Eltons butik" med standup komikeren Torben Chris i rollen som butiksindehaveren ELTON der elsker at lave gas med sine lokale kunder 🤣 - men serviceniveauet dét går han altså ikke ned på. I EL-Salg’s butikker er kunden nemlig altid i fokus 😎 

Ikke 2 år - men 4 års garanti!

Køber du et produkt, mærket med 4 års garantimærket, får du ikke bare 2 år, men 4 års garanti. Det betyder ganske enkelt at garantien gælder i 4 år fra den dato, hvor produktet blev leveret fra en EL-Salg forhandler eller fra elsalg.dk.

Garantien dækker produktets funktionsdygtighed i garantiperioden. Det er EL-Salg der ensidigt afgør om et ikke-funktionelt produkt skal repareres, ombyttes med et tilsvarende produkt eller om produktets aktuelle værdi skal godtgøres kunden. Det er altid kunden der skal kunne dokumentere, hvor og hvornår produktet er købt f.eks. ved forevisning af kvittering. 

 

Levering og montering

Har du ingen trailer, er bilen for lille, er du kun på cykel, eller orker du bare ikke bøvlet i selv at transportere dine varer? Hos EL-Salg kan vi selvfølgelig hjælpe dig med at leverer varen hjem til dig. Har du også brug for at få varen monteret ved samme lejlighed, kan vi også sørge for det. Hør mere i din lokale butik.

Find butik

 

 

Error executing template "/Designs/elsalg/frontpage/Paragraph/WidgetRaptorProductsNative.cshtml"
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.Convert.ToDecimal(String value)
   at CompiledRazorTemplates.Dynamic.RazorEngine_49e394662523438ca5f2fbf5bc95e396.Execute() in D:\websites\elsalg.dk\application(9.12.1)\Files\Templates\Designs\elsalg\frontpage\Paragraph\WidgetRaptorProductsNative.cshtml:line 164
   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 System.Net; 2 @using System.Web; 3 @using eela.custom; 4 @using eela.custom.Providers; 5 @using Newtonsoft.Json; 6 @using Newtonsoft.Json.Linq; 7 @using System.Text.RegularExpressions 8 @using Dynamicweb.Ecommerce; 9 @using Dynamicweb.Ecommerce.Products; 10 @using Dynamicweb.Ecommerce.Shops; 11 @{ 12 var parameterName = GetValue("Item.SectionName") != null && !string.IsNullOrWhiteSpace(GetValue("Item.SectionName").ToString()) ? GetValue("Item.SectionName").ToString() : String.Empty; 13 var parameterValue = GetValue("Item.SectionValue") != null && !string.IsNullOrWhiteSpace(GetValue("Item.SectionValue").ToString()) ? GetValue("Item.SectionValue").ToString() : String.Empty; 14 var raptorIntegrationType = GetValue("Item.RaptorIntegrationType") != null && !string.IsNullOrWhiteSpace(GetValue("Item.RaptorIntegrationType").ToString()) ? GetValue("Item.RaptorIntegrationType").ToString() : "GetOverallTopVisits"; 15 16 var productCount = GetValue("Item.NoOf_Products") != null && !string.IsNullOrWhiteSpace(GetValue("Item.NoOf_Products").ToString()) ? int.Parse(GetValue("Item.NoOf_Products").ToString()) : 10; 17 18 if (productCount < 1) 19 { 20 productCount = 10; 21 22 } 23 24 List<Dynamicweb.Ecommerce.Products.Product> products = new List<Dynamicweb.Ecommerce.Products.Product>(); 25 26 if (raptorIntegrationType == "GetTopSellingInCagegory") { raptorIntegrationType = "GetTopSellingInCategory"; } 27 if (!string.IsNullOrWhiteSpace(parameterName) && !string.IsNullOrWhiteSpace(parameterValue)) 28 { 29 products = eela.custom.Raptor.GetRaptorItems(raptorIntegrationType, parameterName, parameterValue, productCount); 30 } 31 else 32 { 33 products = eela.custom.Raptor.GetRaptorItems(raptorIntegrationType, productCount); 34 } 35 36 if (products.Count < 1) { return; } 37 } 38 39 40 <script> 41 function formatPrice(fPrice) { 42 document.write(fPrice.replace(/,00$/, ',-')); 43 } 44 $(document).ready(function () { 45 var $owlProducts = $('.owl-products'); 46 47 function checkWidth() { 48 var windowSize = $(window).width(); 49 if (windowSize > 1199) { 50 $owlProducts.owlCarousel({ 51 margin: 24, 52 dots: false, 53 responsiveClass: true, 54 slideBy: "page", 55 responsive: { 56 0: { 57 items: 1, 58 nav: true 59 }, 60 600: { 61 items: 3, 62 nav: true 63 }, 64 1000: { 65 items: 4, 66 nav: true, 67 loop: false 68 } 69 } 70 }); 71 $owlProducts.removeClass('scroll-mobile'); 72 } else { 73 $owlProducts.addClass('scroll-mobile'); 74 $owlProducts.owlCarousel('destroy'); 75 } 76 } 77 78 checkWidth(); 79 80 $(window).on("resize", checkWidth); 81 82 $(".item-assortment-link").on('click', function (event) { 83 event.preventDefault(); 84 var newURl = $(this).attr('data-url'); 85 location.href = newURl; 86 //window.open(newURl,'_blank'); 87 }); 88 }); 89 90 </script> 91 92 93 94 <div class="widget-products"> 95 <div class="container_4 clearfix"> 96 97 <div class="title"> 98 <div class="container_4 clearfix"> 99 <div class="grid_4"> 100 <h1>@GetString("Item.Title")</h1> 101 </div> 102 </div> 103 </div> 104 105 <div class="product-grid"> 106 <div class="tabs-items tab-items-product"> 107 108 <section class="tab-item current clearfix"> 109 110 <div class="owl-wrapp"> 111 <div id="raptor-recomendations-@raptorIntegrationType" class="owl-products owl-carousel owl-theme @(products.Count() < 4 ? "owl-center" : null)"> 112 @foreach (Dynamicweb.Ecommerce.Products.Product product in products) 113 { 114 if (string.IsNullOrWhiteSpace(product.Name)) { continue; } 115 116 string price = product.GetPrice("DKK","DK").PriceWithVAT.ToString("0,0.00"); 117 string priceDiscount = Services.Products.GetProductFieldValue(product, "ELSUnitSavings").ToString(); 118 bool hasDiscount = false; 119 if (Convert.ToDecimal(priceDiscount) != 0) 120 { 121 hasDiscount = true; 122 } 123 string priceBefore = (hasDiscount) ? (Convert.ToDouble(priceDiscount) + Convert.ToDouble(price)).ToString() : "0"; 124 125 string baseUrl = String.Format("Default.aspx?ID={0}&ProductID={1}", "9", product.Id); 126 string url = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(baseUrl).ToString(); 127 string buyURL = String.Format("{0}?cartcmd=add", url); 128 129 var primaryGroup = ProductProvider.GetPrimaryParentGroup(product.Id); 130 var elsEnergy = product.ProductFieldValues.GetProductFieldValue("ELSEnergy").Value.ToString(); 131 var energyImgPath = ProductProvider.GetEnergyImagePath(product.ProductFieldValues.GetProductFieldValue("ELSEan").Value.ToString(), elsEnergy, primaryGroup.Id.Replace("-at-SHOP1", "")); 132 133 <div id="recomendation-@product.Id"> 134 <article class="product @(hasDiscount ? "has-discount" : "")" title="@product.Name"> 135 <div class="product-content"> 136 137 <a class="clearfix product-link-box" href="@url" data-raptorrecommendation="productId:@product.Id"> 138 <div class="image"> 139 <div> 140 @if (!ProductProvider.ElectraImgExists(product.ProductFieldValues.GetProductFieldValue("ELSEan").Value.ToString(), product.Number)) 141 { 142 <img src="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/@(product.ProductFieldValues.GetProductFieldValue("ELSAlternatePictureID").Value.ToString() == "" ? "0000000000001" : product.ProductFieldValues.GetProductFieldValue("ELSAlternatePictureID").Value.ToString()).png&amp;image=/files/ELSALG/eCom/Pictures/@(product.ProductFieldValues.GetProductFieldValue("ELSEan").Value.ToString()).png&amp;width=255&amp;height=255&amp;crop=5" alt="@product.Name" /> 143 } 144 else 145 { 146 var electraImgUrl = ProductProvider.GetElectraImgUrl(product.Number); 147 148 <img src="@electraImgUrl" alt="@product.Name" /> 149 } 150 </div> 151 152 @*----- Render all labels related to the product notes. ----- *@ 153 154 @{ 155 156 var productSymbolsValue = product.ProductFieldValues.GetProductFieldValue("ELSProductSymbols").Value.ToString(); 157 var elsAssortmentId = product.ProductFieldValues.GetProductFieldValue("ELSAssortmentID").Value.ToString().ToLower(); 158 159 160 <div class="label-info"> 161 162 @if (hasDiscount) 163 { 164 <div class="item save">@(Convert.ToDecimal("Spar " + Convert.ToDouble(priceDiscount).ToString("0,0.00").Replace(",00", ",-")))</div> 165 } 166 167 @if (!string.IsNullOrWhiteSpace(productSymbolsValue.Trim())) 168 { 169 var productSymbols = JArray.Parse(productSymbolsValue) as JArray; 170 171 foreach (var productSymbol in productSymbols) 172 { 173 <div class="item online">@productSymbol["description"]</div> 174 } 175 } 176 177 @if (elsAssortmentId == "5ps") 178 { 179 <div class="item rate"> 180 Rente-og gebyrfrit 181 <span class="link item-assortment-link" data-url="/meddethele"> 182 Læs mere her! 183 </span> 184 </div> 185 } 186 </div> 187 188 <div class="label-marks"> 189 @if (!string.IsNullOrWhiteSpace(productSymbolsValue.Trim())) 190 { 191 var productSymbols = JArray.Parse(productSymbolsValue) as JArray; 192 193 foreach (var productSymbol in productSymbols) 194 { 195 <div class="item"> 196 <img src="/files/images/symbols/@(productSymbol["value"])" alt="" /> 197 </div> 198 } 199 } 200 </div> 201 } 202 </div> 203 204 <div class="text"> 205 <div class="description"> 206 <div class="title-content"> 207 <div class="title"> 208 @TruncateAtWords(product.Name.ToString(), 56) 209 </div> 210 <p class="productsubheader"> 211 @product.ProductFieldValues.GetProductFieldValue("ELSProductSubHeader").Value 212 </p> 213 </div> 214 @product.ProductFieldValues.GetProductFieldValue("ELSProductShortText").Value 215 216 </div> 217 <div class="pricing clearfix"> 218 <div class="prod-spec-tab d-flex justify-content-between"><a href="@string.Format("{0}?tab=specifications", url)">Produktdatablad</a> 219 @if (hasDiscount) 220 { 221 <span class="">Før @Convert.ToDouble(priceBefore).ToString("0,0.00").Replace(",00", ",-")</span> 222 } 223 </div> 224 225 <div class="clearfix"> 226 <span class="discount">@("Spar " + Convert.ToDouble(priceDiscount).ToString("0,0.00").Replace(",00", ",-"))</span> 227 <span class="price"> 228 <script>formatPrice('@ProductExtensions.GetCustomPrice(product)')</script> 229 @if (elsAssortmentId == "5ps") 230 { 231 <span class="month-price-text">Rentefrit pr. md.</span> 232 } 233 </span> 234 @if (!string.IsNullOrEmpty(energyImgPath)) 235 { 236 <span class="energy-pg"> 237 <a href="@string.Format("{0}?tab=specifications", url)"> 238 <img src="@energyImgPath" alt="" /> 239 </a> 240 </span> 241 } 242 <div class="buy"> 243 <div onclick="AddToCartWithSupplemental('@buyURL', '@product.Number', '@product.Id', '@HttpUtility.JavaScriptStringEncode(product.Name.Replace("''", ""))');return false;" class="button skipSwipable"> 244 Køb 245 </div> 246 </div> 247 </div> 248 <div class="delivery-text">@product.ProductFieldValues.GetProductFieldValue("ELSDeliveryText").Value.ToString()</div> 249 </div> 250 </div> 251 </a> 252 </div> 253 </article> 254 </div> 255 } 256 </div> 257 </div> 258 </section> 259 </div> 260 </div> 261 </div> 262 </div> 263 264 @functions 265 { 266 string TruncateAtWords(string html, int maxCharacters) 267 { 268 if (html == null || (html = html.Trim()).Length <= maxCharacters || string.IsNullOrEmpty(html)) 269 return html; 270 271 int index = html.Trim().LastIndexOf(" "); 272 while ((index + 3) > maxCharacters) 273 index = html.Substring(0, index).Trim().LastIndexOf(" "); 274 275 if (index > 0) 276 return html.Substring(0, index) + " &hellip;"; 277 278 return html.Substring(0, maxCharacters - 3) + " &hellip;"; 279 } 280 }