Boost Hydraulic Performance. Contact Us Today!
920-682-6877
    /Files/Images/LDIIndustries/Logo/ldi-logo_1.webp
    Engineered Solutions
    • Custom Fabrications
    • Fittings/Valves
    • Multi-Passage Swivels
    Manufacturing
    • Cut
    • Form
    • Weld
    • Machine
    • Paint
    • Assemble
    Products
    • Reservoirs/Tanks
    • Reservoir Accessories
    • Multi-Passage Swivels
    • Sight Gauges
    • Fittings & Valves
    • Lubrication Equipment
    • All Products
    Our Company
    • About Us
    • Careers
    Contact
    1. Home
    2. Products
    3. Reservoir Accessories
    4. Tank Magnets

    Tank Magnets

    /Files/Images/LDIIndustries/Logo/ldi-logo.webp

    Specializing in the design and manufacturing of hydraulic

    components and lubricating equipment since 1962.

    Contact Us

    CONTACT FORM
    location-filled

    Corporate Location 1864 Nagle Ave Manitowoc, WI 54220

    location-filled

    Fabrication & Assembly 12901 Jim Dhamer Dr Huntley, IL 60142

    phone Created with Sketch Beta. 920-682-6877
    Social
    • 17A30BA7-5D15-4AD7-8022-9DC0157B4D54 Created with sketchtool.
    /Files/Images/LDIIndustries/Logo/force-logo-subsidiary-black_1.webp

    FORCE America is one of the leading suppliers of motion

    and control systems in North America. Learn More.

    Error executing template "Designs/Swift-v2/Paragraph/Custom_FAClusterStockUpdateFeed.cshtml"
    System.Exception: Product id is required to find a product.
       at Dynamicweb.Core.Ensure.That[TException](Boolean condition, String message)
       at Dynamicweb.Ecommerce.ProductCatalog.ViewModelFactory.CreateView(ProductViewModelSettings settings, String productId, String variantId)
       at CompiledRazorTemplates.Dynamic.RazorEngine_73b29c9d90ea4f9fb83984bb76024302.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()
    
    1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb 3 @using Dynamicweb.Frontend 4 @using Dynamicweb.Ecommerce.ProductCatalog 5 @using Dynamicweb.Ecommerce.Orders 6 @using Dynamicweb.Ecommerce.Stocks 7 8 @functions{ 9 public class StockText{ 10 public string StockStatus { get; set; } 11 public string StockStatusDesc { get; set; } 12 } 13 } 14 @{ 15 string productId = Dynamicweb.Context.Current.Request.QueryString.Get("ProductId"); 16 string variantId = Dynamicweb.Context.Current.Request.QueryString.Get("VariantId"); 17 string qty = Dynamicweb.Context.Current.Request.QueryString.Get("Qty"); 18 StockText stockText=new StockText(); 19 20 ProductViewModelSettings productSetting = new ProductViewModelSettings 21 { 22 LanguageId = Dynamicweb.Ecommerce.Common.Context.LanguageID, 23 CurrencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code, 24 CountryCode = Dynamicweb.Ecommerce.Common.Context.Country.Code2, 25 ShopId = Pageview.Area.EcomShopId 26 }; 27 ProductViewModel product = ViewModelFactory.CreateView(productSetting,productId,variantId); 28 if(product != null){ 29 30 var stockunits = product.GetStockUnit(); 31 int stockuitcount=stockunits.Count(); 32 List<StockLocation> stockloc = Dynamicweb.Ecommerce.Services.StockService.GetStockLocations().Where(x=>x.CategoryId== "STOCKLOCCAT2").ToList(); 33 string langId = Dynamicweb.Ecommerce.Common.Context.LanguageID; 34 string stockduration="6 weeks"; 35 36 string custwarehouse = ""; 37 double cuswarehousestock = 0; 38 if(Pageview.User != null) 39 { 40 custwarehouse = Pageview.User.CustomFieldValues.FirstOrDefault(x => x.CustomField.SystemName == "AccessUser_D365Warehouse")?.Value?.ToString(); 41 string lastudwarehouse = Pageview.User.CustomFieldValues.FirstOrDefault(x => x.CustomField.SystemName == "AccessUser_LastUpdatedWarehouse")?.Value?.ToString(); 42 if(!string.IsNullOrEmpty(lastudwarehouse)){ 43 custwarehouse=lastudwarehouse; 44 } 45 } 46 else{ 47 string warehousecookie = Dynamicweb.Context.Current.Request.GetCookie("SelectedWarehouse")?.Value; 48 if(!string.IsNullOrEmpty(warehousecookie)){ 49 custwarehouse=warehousecookie; 50 } 51 } 52 string currwarehousename = stockloc.FirstOrDefault(x=>x.GetName(langId)==custwarehouse)?.GetDescription(langId); 53 54 if (stockuitcount > 0) 55 { 56 stockduration=stockunits.FirstOrDefault().StockStatus; 57 if(stockunits.FirstOrDefault(x => x.StockLocationName == custwarehouse) != null){ 58 cuswarehousestock = stockunits.FirstOrDefault(x => x.StockLocationName == custwarehouse).StockLevel; 59 } 60 } 61 double totalstock = product.StockLevel ?? 0; 62 63 double qtyInt = !string.IsNullOrEmpty(qty) ? Convert.ToDouble(qty) : 0; 64 double cartqty = 0; 65 if (Dynamicweb.Ecommerce.Common.Context.Cart != null) 66 { 67 Order dworder = Dynamicweb.Ecommerce.Common.Context.Cart; 68 foreach(OrderLine orderLine in dworder.OrderLines.Where(x=>x.ProductId==productId && x.ProductVariantId == variantId)) 69 { 70 cartqty = cartqty + orderLine.Quantity; 71 } 72 } 73 double totalqty = qtyInt + cartqty; 74 75 if (totalstock == 0) 76 { 77 stockText.StockStatus= "Out of stock <span class=\"cus-faplist__availdur\">" + stockduration + "</span>"; 78 stockText.StockStatus = stockText.StockStatus + "<span class=\"cus-faplist__availtooltiptxt\">" + totalqty + " will be available in about " + stockduration+"</span>"; 79 } 80 else if (totalqty <= cuswarehousestock) 81 { 82 stockText.StockStatus= "In stock <svg class=\"status-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 1.5C7.86 1.5 4.5 4.86 4.5 9c0 5.25 7.5 13.5 7.5 13.5s7.5-8.25 7.5-13.5c0-4.14-3.36-7.5-7.5-7.5z\"></path><circle cx=\"12\" cy=\"9\" r=\"2.5\"></circle></svg>"; 83 stockText.StockStatus = stockText.StockStatus +"<span class=\"cus-faplist__availtooltiptxt\">" + "In stock in " + currwarehousename +"</span>"; 84 } 85 else if (totalqty > cuswarehousestock && totalqty <= totalstock) 86 { 87 double pendingstock=totalqty-cuswarehousestock; 88 stockText.StockStatus= "In stock"; 89 stockText.StockStatus = stockText.StockStatus +"<span class=\"cus-faplist__availtooltiptxt\">" + cuswarehousestock + " are in stock in " + currwarehousename + ", and the additional "+ pendingstock + " is available in other FORCE America warehouse(s) in the US."+"</span>"; 90 } 91 else if(totalqty > totalstock) 92 { 93 double pendingstock=totalstock-cuswarehousestock; 94 double notinstock=totalqty-totalstock; 95 stockText.StockStatus= "Out of stock <span class=\"cus-faplist__availdur\">" + stockduration + "</span>"; 96 stockText.StockStatus = stockText.StockStatus +"<span class=\"cus-faplist__availtooltiptxt\">" + cuswarehousestock + " are in stock in " + currwarehousename + ", "+ pendingstock + " are available in other FORCE America warehouse(s) in the US, the " + notinstock + " will be available in about " + stockduration +"</span>"; 97 } 98 99 } 100 var ret = Newtonsoft.Json.JsonConvert.SerializeObject(stockText); 101 } 102 @ret

    Copyright © 2026 by LDI Industries, Inc. All Rights Reserved.

    • Accessibility Statement
    • Cookie Settings
    • Privacy Statement
    • Terms of Use
    • LDI Quality System
    Favorite list updated
    You control your data

    We and our partners use technologies, including cookies, to collect information about you for various purposes, including:

    1. Functionality
    2. Statistics
    3. Marketing

    By clicking 'Accept All' you consent to all these purposes. You can also choose to indicate what purposes you will consent to using the custom selections and then click 'Accept selected'.