Aeroflow oplaadbare pomp
Compact oplaadbare luchtpomp met geïntegreerde lantaarn en meerdere adapters voor gebruik buitenshuis.
- Luchtpompfunctie: 200 l/min (3,5 kpa)
- Licht en compact
- Geïntegreerde lantaarn met 3 lichtstanden – hoog (180 lm), midden (90 lm) en laag (25 lm)
Adviesprijs
38,95
32,95 €
Op voorraad
- De Outwell Aeroflow Oplaadbare Pomp is een essentieel hulpmiddel voor kamperen en biedt krachtige opblaas- en leegloopfuncties en verlichting in één compact ontwerp. Deze pomp is perfect voor het eenvoudig opblazen van luchtbedden, slaapmatten, opblaasbaar meubilair en kleinere voorwerpen. Aangedreven door een oplaadbare batterij en voorzien van USB-C-oplaadmogelijkheid, biedt de Aeroflow betrouwbare prestaties voor langdurig gebruik. Licht en draagbaar, de pomp beschikt ook over een geïntegreerde lantaarn met drie instelbare helderheidsniveaus, waardoor het een veelzijdige multitool is voor op de camping. Uitgerust met meerdere mondstukken, een Outwell-ventieladapter en een handige ophanglus, is de Aeroflow ontworpen voor eenvoudig en efficiënt gebruik in de buitenlucht.
- Materiaal
- ABS, PC
- Afmeting
- 5.35 x 6.1 x 8.1 cm (BxDxH)
- Batterijen
- 3,7V 2000 mAh Li-ion batterij
- Source
- Stroombron: 5V DC, 4W / Werkend vermogen: 3,7V DC, 10W
- Volume
- 200 L/min
- Kleur
- Blue Shadow
- Inhoud
- Pomp, 5 ventieladapters, Outwell FHF pompadapter, draagtas, USB-C oplaadkabel
- Gewicht
- 0.121 kg
- EAN
- 5709388146984
- Number
- 651277
- Luchtpompfunctie: 200 l/min (3,5 kpa)
- Licht en compact
- Geïntegreerde lantaarn met 3 lichtstanden – hoog (180 lm), midden (90 lm) en laag (25 lm)
- Outwell FHF ventieladapter, 5 ventieladapters en USB naar USB-C oplaadkabel inbegrepen
- Oplaadstatuslampje
- Ophanglus voor eenvoudige bevestiging
- Herlaadbaar, USB-C-ingang
Error executing template "Designs/Swift/Paragraph/Custom_Swift_ProductComponentSlider.cshtml" Microsoft.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired. The timeout period elapsed during the post-login phase. The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=515; handshake=2; [Login] initialization=0; authentication=0; [Post-Login] complete=13545; ---> System.ComponentModel.Win32Exception (258): The wait operation timed out. at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides) at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternal(Boolean errorsExpected) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at Oase.Backend.Services.DinoService.GetOtherLookedAt(String Itemnumber, String Site, Int32 limit) at CompiledRazorTemplates.Dynamic.RazorEngine_e1efccd524964becbf0fa658e86cb14f.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) at Dynamicweb.Rendering.Template.RenderRazorTemplate() ClientConnectionId:10aa946c-cd48-489e-99a5-3b5943582129 Error Number:-2,State:0,Class:11
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Core 3 @using Dynamicweb.Ecommerce.ProductCatalog 4 5 @{ 6 ProductViewModel product = null; 7 IList<ProductViewModel> products = new List<ProductViewModel> { }; 8 IList<ProductGroupViewModel> groups = new List<ProductGroupViewModel> { }; 9 10 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 11 { 12 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 13 } 14 else if (Pageview.Page.Item["DummyProduct"] != null && Pageview.IsVisualEditorMode) 15 { 16 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 17 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 18 19 if (productList?.Products is object) 20 { 21 product = productList.Products[0]; 22 } 23 } 24 25 string ProductSliderService = GetPageIdByNavigationTag("ProductSliderService") != 0 ? GetPageIdByNavigationTag("ProductSliderService").ToString() : ""; 26 string GroupSliderService = GetPageIdByNavigationTag("GroupSliderService") != 0 ? GetPageIdByNavigationTag("GroupSliderService").ToString() : ""; 27 28 string layout = Model.Item.GetRawValueString("Layout") == "slider" ? "ProductSliderComponent" : "ProductGridComponent"; 29 string lazyHeight = Model.Item.GetBoolean("SetMinHeightForLazyLoading") ? "min-height: 360px" : ""; 30 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 31 32 //Source type 33 string sourceType = Model.Item.GetRawValueString("RelationType", "selected"); 34 int itemSourcePageId = Convert.ToInt32(Model.Item.GetRawValueString("ListComponentSource", "0")); 35 36 var pageService = new Dynamicweb.Content.PageService(); 37 itemSourcePageId = itemSourcePageId > 0 && pageService.GetPageOrLanguage(itemSourcePageId, Pageview.AreaID) != null ? pageService.GetPageOrLanguage(itemSourcePageId, Pageview.AreaID).ID : itemSourcePageId; 38 39 var itemListArray = Model.Item.GetList("ProductGroupList")?.SelectedValues.ToArray(); 40 41 //--- PRODUCTS --- 42 if (sourceType == "selected") 43 { 44 ProductListViewModel SelectedProducts = Model.Item.GetValue<ProductListViewModel>("SelectedProducts"); 45 if (SelectedProducts != null) 46 { 47 foreach (var SelectedProduct in SelectedProducts.Products) 48 { 49 products.Add(SelectedProduct); 50 } 51 } 52 } 53 54 //--- GROUPS --- 55 if (sourceType == "selected-groups") 56 { 57 IList<ProductGroupViewModel> SelectedGroups = Model.Item.GetValue<IList<ProductGroupViewModel>>("SelectedGroups"); 58 if (SelectedGroups != null) 59 { 60 foreach (var group in SelectedGroups) 61 { 62 groups.Add(group); 63 } 64 } 65 } 66 67 //--- PRODUCTS IN A GROUP --- 68 if (sourceType == "group-products") 69 { 70 var productService = new Dynamicweb.Ecommerce.Products.ProductService(); 71 if (itemListArray != null && itemListArray.Any()) 72 { 73 var productsInGroup = productService.GetProductsByGroupId(itemListArray.First(), true, Pageview.Area.EcomLanguageId, false); 74 itemListArray = productsInGroup.Where(a => a.DefaultPrice > 0).Select(a => a.Number).ToArray(); 75 } 76 } 77 78 //Create group id collection and products id collection strings 79 string productIds = products.Count > 0 ? string.Join(",", products.Select(a => a.Id)) : ""; 80 string groupIds = groups.Count > 0 ? string.Join(",", groups.Select(a => a.Id)) : ""; 81 82 var ParagraphTitle = Model.Item.GetString("Title"); 83 var ProductsCount = Model.Item.GetDecimal("ProductsCount"); 84 var ProductsCountMobile = Model.Item.GetDecimal("ProductsCountMobile"); 85 var ItemLimit = Model.Item.GetInt32("ItemLimit"); 86 ItemLimit = ItemLimit == 0 ? 10 : ItemLimit; 87 var TitlePosition = Model.Item.GetString("TitlePosition", "center"); 88 var TitleArrow = Model.Item.GetString("ShowTitleArrow"); 89 } 90 @if (Pageview.IsVisualEditorMode == true) 91 { 92 <div class="alert alert-dark" role="alert"> 93 <span>Content slider for: @ParagraphTitle</span> 94 </div> 95 96 } else 97 { 98 var showLocalSource = "local"; 99 100 // Url to slider service page 101 string url = "/Default.aspx?ID=" + ProductSliderService; 102 103 // Product optional extra 104 if (sourceType == "optional-extra") 105 { 106 var MainProductId = Dynamicweb.Context.Current.Request.QueryString.Get("MainProductId"); 107 string? ProductOptionalExtra; 108 if (!string.IsNullOrWhiteSpace(MainProductId)) 109 { 110 ProductOptionalExtra = MainProductId; 111 } else 112 { 113 ProductOptionalExtra = product?.ProductFields.GetValueOrDefault("OptionalExtra")?.Value.ToString(); 114 115 } 116 itemListArray = ($"{ProductOptionalExtra}").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToArray(); 117 } 118 119 // Also bought from "Dino" 120 if (sourceType == "AlsoBoughtDino") 121 { 122 if(product != null) 123 { 124 itemListArray = new Oase.Backend.Services.DinoService().GetOtherLookedAt(product.Number, Pageview.Area.Name, ItemLimit); 125 } 126 } 127 128 // Bestsellers from "Dino" 129 if (sourceType == "BestsellersDino") 130 { 131 itemListArray = new Oase.Backend.Services.DinoService().GetBestsellers(Pageview.Area.Name, ItemLimit); 132 } 133 134 // Cookie - Favorites and recent products 135 if (sourceType == "favorites" || sourceType == "recently-viewed") 136 { 137 itemListArray = [""]; 138 showLocalSource = sourceType; 139 } 140 141 @if (itemListArray?.Length > 0) 142 { 143 <form method="post" action="@url" id="ContentSliderForm_@Model.ID" data-localsource="@showLocalSource" 144 data-response-target-element="ContentSlider_@Model.ID" 145 data-preloader="inline" data-update-url="false" 146 class="item_@Model.Item.SystemName.ToLower()"> 147 148 <input type="hidden" name="ParagraphId" value="@Model.ID" /> 149 <input type="hidden" name="SortOrder" value="ASC"> 150 <input type="hidden" name="SourceType" value="@sourceType"> 151 <input type="hidden" name="TitlePosition" value="@TitlePosition"> 152 <input type="hidden" name="TitleArrow" value="@TitleArrow"> 153 <input type="hidden" name="itemSourcePageId" value="@itemSourcePageId"> 154 <input type="hidden" name="ParagraphTitle" value="@ParagraphTitle"> 155 <input type="hidden" name="ListOfIds" value="@string.Join(",", itemListArray)"> 156 <input type="hidden" name="MainProductId" value="@string.Join(",", itemListArray)"> 157 @if (ProductsCount != 0) 158 { 159 <input type="hidden" name="ProductsCount" value="@ProductsCount.ToString().Replace(",", ".")"> 160 } 161 @if (ProductsCountMobile != 0) 162 { 163 <input type="hidden" name="ProductsCountMobile" value="@ProductsCountMobile.ToString().Replace(",", ".")"> 164 } 165 </form> 166 167 <div class="w-100 h-100@(theme)"> 168 <div id="@Model.ID" class="user-select-none" style="scroll-margin-top:var(--header-height,150px)"></div> 169 <div id="ContentSlider_@(Model.ID)" class="h-100" style="@lazyHeight"> 170 <p class="grid placeholder-glow" style="height:400px;"> 171 <span class="placeholder g-col-3 rounded"></span> 172 <span class="placeholder g-col-3 rounded"></span> 173 <span class="placeholder g-col-3 rounded"></span> 174 <span class="placeholder g-col-3 rounded"></span> 175 </p> 176 </div> 177 </div> 178 179 <link rel="stylesheet" href="/Files/Templates/Designs/Swift/Assets/css/swiper-bundle.min.css" /> 180 <script src="/Files/Templates/Designs/Swift/Assets/js/swiper-bundle.min.js"></script> 181 <script type="module"> 182 const productSliderContainer = document.querySelector("#ContentSlider_@Model.ID"); 183 const productSliderForm = document.querySelector("#ContentSliderForm_@Model.ID"); 184 185 if (productSliderForm.dataset.localsource == 'favorites') { 186 let localItems = JSON.parse(localStorage.getItem('favorites-' + @(Pageview.Area.EcomShopId.Replace("SHOP",""))) || '[]'); 187 productSliderForm.querySelector('[name="ListOfIds"]').value = localItems.toString(); 188 productSliderForm.querySelector('[name="MainProductId"]').value = localItems.toString(); 189 } 190 if (productSliderForm.dataset.localsource == 'recently-viewed') { 191 let localItems = JSON.parse(localStorage.getItem('recently-viewed') || '[]'); 192 productSliderForm.querySelector('[name="ListOfIds"]').value = localItems.toString(); 193 productSliderForm.querySelector('[name="MainProductId"]').value = localItems.toString(); 194 } 195 196 swift.PageUpdater.Update(productSliderForm); 197 productSliderForm.addEventListener("updated.swift.pageupdater", function (e) { 198 if (e.detail.html === "") { 199 productSliderContainer.classList.add("d-none"); 200 } 201 }); 202 </script> 203 } 204 }


