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. All Products

    All Products

    Product
    G623 Series Front Mount Rigid Nylon Sight Gauge, 180° Viewing
    Product
    G632 Series Back Mount Redline Sight Gauge, 270° Viewing with Front Dial Thermometer
    Product
    G635 Series Front Mount Redline Sight Gauge, 270° Viewing
    Product
    G640 Series Back Mount Redline Sight Gauge, Front Viewing with Dial Thermometer
    Product
    G642 Series Back Mount Redline Sight Gauge, 270° Viewing with Front Dial Thermometer
    Product
    G645 Series Front Mount Redline Sight Gauge, Front Viewing with Dial Thermometer (Therowell)
    Product
    GA603 Series Front Mount Flexible Vinyl Sight Gauge, 360° Viewing with Pipe Adapters
    Product
    GA613 Series Front Mount Rigid Nylon Sight Gauge, 360° Viewing with Pipe Adapters
    Product
    GAT603 Series Front Mount Flexible Vinyl Sight Gauge, 360° Viewing with Dial Thermometer and Pipe Adapters
    Product
    GT603 Series Front Mount Flexible Vinyl Sight Gauge, 360° Viewing with Dial Thermometer
    Product
    GT613 Series Front Mount Rigid Nylon Sight Gauge, 360° Viewing with Dial Thermometer
    Product
    GT623 Series Front Mount Rigid Nylon Sight Gauge, 180° Viewing with Card Thermometer
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
    /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'.