Magnetventil Åbner 18 mm

27013
18 mm snydespole
685,25 kr.
På lager - leveres indenfor 1-2 hverdage

Trustpilot ★  | 1 års returret | Dansk webshop 

VOC-18

MAGNETVENTIL ÅBNER 18 mm.

Universal
  Den nemmeste måde at åbne elektrisk styrede magnetventil på.
  Fjern den elektriske magnet, og monter ventilåbneren og ventilen
  åbnes automatisk.


  Anvendes ved service på køleanlæg og til kontrol af ventilens funktion.



Error executing template "Designs/Swift/Paragraph/Swift_RelatedProducts.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at Dynamicweb.Ecommerce.ProductCatalog.ViewEngine.<>c__DisplayClass6_0.<GetRelatedGroups>b__1(IGrouping`2 group)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at CompiledRazorTemplates.Dynamic.RazorEngine_0f4c4a93a7dd495eb7fdd5471b7d7082.Execute() in D:\dynamicweb.net\Solutions\smartpage\vmelektro.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_RelatedProducts.cshtml:line 173
   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> 2 @using Dynamicweb.Core 3 @using Dynamicweb.Ecommerce.ProductCatalog 4 5 @{ 6 bool productViewModelFound = false; 7 ProductViewModel product = new ProductViewModel(); 8 9 ProductViewModelSettings productSetting = new ProductViewModelSettings 10 { 11 LanguageId = Dynamicweb.Ecommerce.Common.Context.LanguageID, 12 CurrencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code, 13 CountryCode = Dynamicweb.Ecommerce.Common.Context.Country.Code2, 14 ShopId = Pageview.Area.EcomShopId 15 }; 16 17 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 18 { 19 productViewModelFound = true; 20 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 21 } 22 if (Pageview.IsVisualEditorMode && !productViewModelFound) 23 { 24 if (Pageview.Item["DummyProduct"] != null) 25 { 26 productViewModelFound = true; 27 string dummyProductId = ""; 28 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 29 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 30 if (productList.Products != null) 31 { 32 foreach (var p in productList.Products) { dummyProductId = p.Id; } 33 ProductViewModel dummyProduct = dummyProductId != "" ? ViewModelFactory.CreateView(productSetting, dummyProductId) : new ProductViewModel(); 34 product = dummyProduct; 35 } 36 else 37 { 38 product = ViewModelFactory.CreateView(productSetting, Dynamicweb.Ecommerce.Services.Products.GetLastActiveProducts(1, Dynamicweb.Ecommerce.Common.Context.LanguageID, false).FirstOrDefault().Id); 39 } 40 } 41 else if (Pageview.Item["DummyProduct"] == null) 42 { 43 productViewModelFound = true; 44 product = ViewModelFactory.CreateView(productSetting, Dynamicweb.Ecommerce.Services.Products.GetLastActiveProducts(1, Dynamicweb.Ecommerce.Common.Context.LanguageID, false).FirstOrDefault().Id); 45 } 46 } 47 48 string title = Model?.Item?.GetString("Title") != null ? Model.Item.GetString("Title") : Translate("Products"); 49 50 string campaignValues = Model.Item.GetRawValueString("CampaignBadges", string.Empty); 51 52 //Styling 53 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h3"); 54 string subtitleFontSize = Model.Item.GetRawValueString("SubtitleFontSize", "fs-5"); 55 string buttonStyle = Model.Item.GetRawValueString("ButtonStyle", ""); 56 buttonStyle = buttonStyle == "primary" ? " btn-primary" : buttonStyle; 57 buttonStyle = buttonStyle == "secondary" ? " btn-secondary" : buttonStyle; 58 buttonStyle = buttonStyle == "link" ? " btn-link" : buttonStyle; 59 string maxWidth = Model.Item.GetRawValueString("TextReadability", ""); 60 maxWidth = maxWidth == "max-width-on" ? " mw-75ch" : maxWidth; 61 maxWidth = maxWidth == "max-width-off" ? "" : maxWidth; 62 63 string generalTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("GeneralTheme")) ? " theme " + Model.Item.GetRawValueString("GeneralTheme").Replace(" ", "").Trim().ToLower() : ""; 64 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 65 string imageTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("ImageTheme")) ? " theme " + Model.Item.GetRawValueString("ImageTheme").Replace(" ", "").Trim().ToLower() : ""; 66 67 //Link generation 68 string pageId = Model.Item.GetLink("ProductSliderServicePage") != null ? Model.Item.GetLink("ProductSliderServicePage").PageId.ToString() : ""; 69 string servicePageByNavigationTag = GetPageIdByNavigationTag("ProductSliderService") != 0 ? GetPageIdByNavigationTag("ProductSliderService").ToString() : ""; 70 pageId = pageId == "" ? servicePageByNavigationTag : pageId; 71 72 string url = "/Default.aspx?ID=" + pageId; 73 if (!url.Contains("LayoutTemplate")) 74 { 75 url += url.Contains("?") ? "&LayoutTemplate=Designs/Swift/Swift_PageClean.cshtml" : "?LayoutTemplate=Designs/Swift/Swift_PageClean.cshtml"; 76 } 77 if (Pageview.IsVisualEditorMode) 78 { 79 url += "&VisualEdit=True"; 80 } 81 82 bool isLazyLoadingForProductInfoEnabled = Dynamicweb.Ecommerce.DynamicwebLiveIntegration.TemplatesHelper.IsLazyLoadingForProductInfoEnabled; 83 if (isLazyLoadingForProductInfoEnabled) 84 { 85 url += "&getproductinfo=true"; 86 } 87 88 //Source type 89 string sourceType = Model.Item.GetRawValueString("RelationType", "trending"); 90 IList<string> relateFromGroupIds = new List<string> { }; 91 IList<string> relateFromProductIds = new List<string> { }; 92 93 //--- VARIANTS --- 94 ProductListViewModel productsToRelateToVariants = Model.Item.GetValue<ProductListViewModel>("ProductsToRelateToVariants"); 95 if (productsToRelateToVariants != null && sourceType == "variants") 96 { 97 foreach (var productSelection in productsToRelateToVariants.Products) 98 { 99 relateFromProductIds.Add(productSelection.Id); 100 } 101 } 102 103 //--- MOST SOLD --- 104 IList<ProductGroupViewModel> groupsToRelateToMostSold = Model.Item.GetValue<IList<ProductGroupViewModel>>("GroupsToRelateToMostSold"); 105 if (groupsToRelateToMostSold != null && sourceType == "most-sold") 106 { 107 foreach (var fromGroup in groupsToRelateToMostSold) 108 { 109 relateFromGroupIds.Add(fromGroup.Id); 110 } 111 } 112 113 //--- TRENDING --- 114 IList<ProductGroupViewModel> groupsToRelateToTrending = Model.Item.GetValue<IList<ProductGroupViewModel>>("GroupsToRelateToTrending"); 115 if (groupsToRelateToTrending != null && sourceType == "trending") 116 { 117 foreach (var fromGroup in groupsToRelateToTrending) 118 { 119 relateFromGroupIds.Add(fromGroup.Id); 120 } 121 } 122 123 //--- LATEST --- 124 IList<ProductGroupViewModel> groupsToRelateToLatest = Model.Item.GetValue<IList<ProductGroupViewModel>>("GroupsToRelateToLatest"); 125 if (groupsToRelateToLatest != null && sourceType == "latest") 126 { 127 foreach (var fromGroup in groupsToRelateToLatest) 128 { 129 relateFromGroupIds.Add(fromGroup.Id); 130 } 131 } 132 133 //--- FREQUENTLY BOUGHT --- 134 ProductListViewModel productsToRelateTo = Model.Item.GetValue<ProductListViewModel>("ProductsToRelateTo"); 135 if (productsToRelateTo != null && sourceType == "frequently") 136 { 137 foreach (var fromProduct in productsToRelateTo.Products) 138 { 139 relateFromProductIds.Add(fromProduct.Id); 140 } 141 } 142 143 //--- SELECTED PRODUCTS --- 144 ProductListViewModel products = Model.Item.GetValue<ProductListViewModel>("Products"); 145 if (products != null && sourceType == "selected") 146 { 147 foreach (var productSelection in products.Products) 148 { 149 relateFromProductIds.Add(productSelection.Id); 150 } 151 } 152 153 //--- RELATED PRODUCTS --- 154 if (sourceType == "related-products") 155 { 156 ProductListViewModel selectedRelationProduct = Model.Item.GetValue<ProductListViewModel>("ProductsToRelateTo2"); 157 if (selectedRelationProduct?.Products != null) 158 { 159 if (selectedRelationProduct.Products.Count > 0) 160 { 161 int productCount = 0; 162 foreach (var selectedProduct in selectedRelationProduct.Products) 163 { 164 if (productCount == 0) 165 { 166 product = selectedProduct; 167 productCount++; 168 } 169 } 170 } 171 } 172 173 if (product?.RelatedGroups != null) 174 { 175 foreach (var group in product.RelatedGroups) 176 { 177 foreach (var relatedProduct in group.Products) 178 { 179 relateFromProductIds.Add(relatedProduct.ProductId); 180 } 181 } 182 } 183 } 184 185 //Create group id collection and products id collection strings 186 string groupIds = productViewModelFound ? product.PrimaryOrDefaultGroup.Id : string.Join(",", relateFromGroupIds); 187 string productIds = productViewModelFound && relateFromProductIds.Count == 0 ? product.Id : string.Join(",", relateFromProductIds); 188 189 //Set the parameters to the url 190 string linkParameters = ""; 191 linkParameters += sourceType != "related-products" ? "&GroupId=" + groupIds : ""; 192 linkParameters += !string.IsNullOrEmpty(productIds) ? "&MainProductId=" + productIds : ""; 193 var productListPageId = GetPageIdByNavigationTag("Shop"); 194 string link = "/Default.aspx?ID=" + productListPageId + linkParameters; 195 196 // Slider settings (documentation: swiffyslider.com/configuration) 197 string navigationStyle = $"{Model.Item.GetRawValueString("NavigationStyle", "slider-nav-round")}"; 198 string navigationPlacement = $"{Model.Item.GetRawValueString("NavigationPlacement", "slider-nav-on-slides")}"; 199 string indicatorStyle = $"{Model.Item.GetRawValueString("IndicatorStyle", "slider-indicators-hidden")}"; 200 string revealSlides = Model.Item.GetRawValueString("RevealSlides", "no-reveal") == "reveal" ? "slider-item-reveal" : string.Empty; 201 string navigationAlwaysVisible = (Model.Item.GetBoolean("NavigationAlwaysVisible")) ? "slider-nav-visible" : string.Empty; 202 string navigationVisibleOnTouch = (Model.Item.GetBoolean("NavigationVisibleOnTouch")) ? "slider-nav-touch" : string.Empty; 203 string navigationShowScrollbar = (Model.Item.GetBoolean("NavigationShowScrollbar")) ? "slider-nav-scrollbar" : string.Empty; 204 string navigationSmall = (Model.Item.GetBoolean("NavigationSmall")) ? "slider-nav-sm" : string.Empty; 205 string navigationInvertColors = (Model.Item.GetBoolean("NavigationInvertColors")) ? "slider-nav-dark" : string.Empty; 206 string navigationSlideEntirePage = (Model.Item.GetBoolean("NavigationSlideEntirePage")) ? "slider-nav-page" : string.Empty; 207 string navigationNoLoop = (Model.Item.GetBoolean("NavigationNoLoop")) ? "slider-nav-noloop" : string.Empty; 208 string indicatorsOutsideSlider = (Model.Item.GetBoolean("IndicatorsOutsideSlider") && indicatorStyle != string.Empty) ? "slider-indicators-outside" : string.Empty; 209 string indicatorsHighlightActive = (Model.Item.GetBoolean("IndicatorsHighlightActive")) ? "slider-indicators-highlight" : string.Empty; 210 string indicatorsInvertColors = (Model.Item.GetBoolean("IndicatorsInvertedColors")) ? "slider-indicators-dark" : string.Empty; 211 string indicatorsVisibleOnSmallDevices = (Model.Item.GetBoolean("IndicatorsVisibleOnSmallDevices")) ? "slider-indicators-sm" : string.Empty; 212 bool showFavoritesSelectorMasterProduct = Model.Item.GetBoolean("ShowFavoritesSelectorMasterProduct"); 213 214 bool productsFound = true; 215 if (string.IsNullOrEmpty(groupIds) && string.IsNullOrEmpty(productIds)) 216 { 217 if (Pageview.IsVisualEditorMode) 218 { 219 productIds = product.Id; 220 sourceType = "selected"; 221 } 222 else 223 { 224 productsFound = false; 225 } 226 } 227 } 228 229 @*Container element for the request*@ 230 @if (productsFound) 231 { 232 <form method="post" action="@url" id="RelatedProductsForm_@Model.ID" data-response-target-element="RelatedProducts_@Model.ID" data-preloader="inline" data-update-url="false" class="item_@Model.Item.SystemName.ToLower()"> 233 <input type="hidden" name="ModelID" value="@Model.ID"> 234 235 @*--- SLIDER SETTINGS ---*@ 236 <input type="hidden" name="NavigationStyle" value="@navigationStyle"> 237 <input type="hidden" name="NavigationPlacement" value="@navigationPlacement"> 238 <input type="hidden" name="IndicatorStyle" value="@indicatorStyle"> 239 <input type="hidden" name="RevealSlides" value="@revealSlides"> 240 <input type="hidden" name="NavigationAlwaysVisible" value="@(navigationAlwaysVisible)"> 241 <input type="hidden" name="NavigationVisibleOnTouch" value="@(navigationVisibleOnTouch)"> 242 <input type="hidden" name="NavigationShowScrollbar" value="@(navigationShowScrollbar)"> 243 <input type="hidden" name="NavigationSmall" value="@(navigationSmall)"> 244 <input type="hidden" name="NavigationInvertColors" value="@(navigationInvertColors)"> 245 <input type="hidden" name="NavigationNoLoop" value="@(navigationNoLoop)"> 246 <input type="hidden" name="NavigationSlideEntirePage" value="@(navigationSlideEntirePage)"> 247 <input type="hidden" name="IndicatorsOutsideSlider" value="@(indicatorsOutsideSlider)"> 248 <input type="hidden" name="IndicatorsHighlightActive" value="@(indicatorsHighlightActive)"> 249 <input type="hidden" name="IndicatorsInvertColors" value="@(indicatorsInvertColors)"> 250 <input type="hidden" name="IndicatorsVisibleOnSmallDevices" value="@(indicatorsVisibleOnSmallDevices)"> 251 <input type="hidden" name="ShowFavoritesSelectorMasterProduct" value="@(showFavoritesSelectorMasterProduct.ToString())"> 252 253 @*--- VARIANTS ---*@ 254 @if (sourceType == "variants") 255 { 256 <input type="hidden" name="isVariant" value="true"> 257 <input type="hidden" name="MainProductID" id="MainProductID_@Model.ID" value="@productIds"> 258 } 259 260 @*--- MOST SOLD ---*@ 261 @if (sourceType == "most-sold") 262 { 263 <input type="hidden" name="SortBy" value="OrderCount"> 264 if (groupIds != "") 265 { 266 <input type="hidden" name="GroupId" value="@groupIds"> 267 } 268 } 269 270 @*--- TRENDING ---*@ 271 @if (sourceType == "trending") 272 { 273 <input type="hidden" name="SortBy" value="OrderCountGrowth"> 274 if (groupIds != "") 275 { 276 <input type="hidden" name="GroupId" value="@groupIds"> 277 } 278 } 279 280 @*--- FREQUENTLY BOUGHT ---*@ 281 @if (sourceType == "frequently" && !string.IsNullOrEmpty(productIds)) 282 { 283 <input type="hidden" name="BoughtWithProductIds" value="[@productIds]"> 284 } 285 286 @*--- LATEST ---*@ 287 @if (sourceType == "latest") 288 { 289 <input type="hidden" name="SortBy" value="Created"> 290 <input type="hidden" name="GroupId" value="@groupIds"> 291 } 292 293 @*--- SELECTED PRODUCTS ---*@ 294 @if (sourceType == "selected") 295 { 296 <input type="hidden" name="MainProductID" id="MainProductID_@Model.ID" value="@productIds"> 297 } 298 299 @*--- RELATED PRODUCTS ---*@ 300 @if (sourceType == "related-products") 301 { 302 <input type="hidden" name="MainProductID" id="MainProductID_@Model.ID" value="@productIds"> 303 } 304 305 @* General parameters *@ 306 <input type="hidden" name="Link" value="@link"> 307 <input type="hidden" name="HideTitle" value="@Model.Item.GetString("HideTitle")"> 308 <input type="hidden" name="SortOrder" value="DESC"> 309 @if (Model.Item.GetInt32("ProductsCount") != 0) 310 { 311 <input type="hidden" name="PageSize" value="@Model.Item.GetInt32("ProductsCount")"> 312 } 313 <input type="hidden" name="HeadingTitle" id="RelatedProductsTitle_@Model.ID" value="@title"> 314 @if (!string.IsNullOrEmpty(Model.Item.GetString("Subtitle"))) 315 { 316 <input type="hidden" name="Subtitle" value="@Model.Item.GetString("Subtitle")"> 317 } 318 @if (!string.IsNullOrEmpty(Model.Item.GetString("LinkText"))) 319 { 320 <input type="hidden" name="LinkText" value="@Model.Item.GetString("LinkText")"> 321 } 322 @if (!string.IsNullOrEmpty(Model.Item.GetString("ImageAspectRatio"))) 323 { 324 string ratio = Model.Item.GetRawValueString("ImageAspectRatio", ""); 325 ratio = ratio != "0" ? ratio : ""; 326 <input type="hidden" name="ImageAspectRatio" value="@ratio"> 327 } 328 @if (!string.IsNullOrEmpty(Model.Item.GetString("Layout"))) 329 { 330 <input type="hidden" name="Layout" value="@Model.Item.GetRawValueString("Layout")"> 331 } 332 @if (titleFontSize != "") 333 { 334 <input type="hidden" name="TitleFontSize" value="@titleFontSize"> 335 } 336 @if (subtitleFontSize != "") 337 { 338 <input type="hidden" name="SubtitleFontSize" value="@subtitleFontSize"> 339 } 340 @if (buttonStyle != "") 341 { 342 <input type="hidden" name="ButtonStyle" value="@buttonStyle"> 343 } 344 @if (generalTheme != "") 345 { 346 <input type="hidden" name="GeneralTheme" value="@generalTheme"> 347 } 348 @if (theme != "") 349 { 350 <input type="hidden" name="Theme" value="@theme"> 351 } 352 @if (imageTheme != "") 353 { 354 <input type="hidden" name="ImageTheme" value="@imageTheme"> 355 } 356 @if (!string.IsNullOrEmpty(Model.Item.GetString("ContentPadding"))) 357 { 358 string contentPadding = Model.Item.GetRawValueString("ContentPadding"); 359 <input type="hidden" name="ContentPadding" value="@contentPadding"> 360 } 361 <input type="hidden" name="TextReadability" value="@maxWidth"> 362 <input type="hidden" name="ParentColumnSize" id="ParentColumnSize_@Model.ID" value="12"> 363 364 <input type="hidden" name="SaleBadgeType" value="@Model.Item.GetRawValue("SaleBadgeType")"> 365 <input type="hidden" name="SaleBadgeCssClassName" value="@Model.Item.GetRawValue("SaleBadgeDesign")"> 366 <input type="hidden" name="NewBadgeCssClassName" value="@Model.Item.GetRawValue("NewBadgeDesign")"> 367 <input type="hidden" name="NewPublicationDays" value="@Model.Item.GetInt32("NewPublicationDays")"> 368 369 @if (campaignValues != "") 370 { 371 <input type="hidden" name="CampaignBadgesValues" value="@campaignValues"> 372 } 373 </form> 374 375 <script type="module" src="~/Files/Templates/Designs/Swift/Assets/js/swiffy-slider.js"></script> 376 <script type="module"> 377 swift.AssetLoader.Load('Files/Templates/Designs/Swift/Assets/css/swiffy-slider.min.css', 'css'); 378 </script> 379 380 if (sourceType != "related-products") 381 { 382 <div class="w-100 h-100"> 383 <div id="RelatedProducts_@Model.ID" class="h-100" style="min-height: 345px"></div> 384 </div> 385 } 386 else if (product?.RelatedGroups != null) 387 { 388 @* Create multiple slider containers, if type is Product relation *@ 389 <div class="grid w-100 h-100@(generalTheme)" style="grid-row-gap: 4rem"> 390 @foreach (var group in product.RelatedGroups) 391 { 392 <div id="RelatedProducts_@(Model.ID)_@group.Id" class="g-col-12 h-100" style="min-height: 345px"></div> 393 } 394 </div> 395 } 396 397 @* Initialize *@ 398 if (sourceType != "related-products") 399 { 400 <script type="module"> 401 if (document.querySelector("#RelatedProducts_@Model.ID").closest("[data-col-size]")) { 402 document.querySelector("#ParentColumnSize_@Model.ID").value = document.querySelector("#RelatedProducts_@Model.ID").closest("[data-col-size]").getAttribute("data-col-size"); 403 } 404 swift.PageUpdater.Update(document.querySelector("#RelatedProductsForm_@Model.ID")); 405 </script> 406 } 407 else if (product?.RelatedGroups != null) 408 { 409 @* Create multiple sliders, if type is Product relation *@ 410 foreach (var group in product.RelatedGroups) 411 { 412 IList<string> fromProductIds = new List<string> { }; 413 414 foreach (var relatedProduct in group.Products) 415 { 416 fromProductIds.Add(relatedProduct.ProductId); 417 } 418 <script type="module"> 419 document.querySelector("#ParentColumnSize_@Model.ID").value = document.querySelector("#RelatedProducts_@(Model.ID)_@group.Id").closest("[data-col-size]").getAttribute("data-col-size"); 420 document.querySelector("#MainProductID_@Model.ID").value = "@string.Join(",", fromProductIds)"; 421 document.querySelector("#RelatedProductsTitle_@Model.ID").value = "@group.Name"; 422 document.querySelector("#RelatedProductsForm_@Model.ID").setAttribute("data-response-target-element", "RelatedProducts_@(Model.ID)_@group.Id"); 423 424 swift.PageUpdater.Update(document.querySelector("#RelatedProductsForm_@Model.ID")); 425 </script> 426 } 427 } 428 } 429

1-2 dages levering
på lagervarer

365 dages returret
 

Vores kunder elsker os
4,8 Trustscore

Erfaren kundeservice
85 års samlet brancheerfaring