DETAIL2399 EC range for flange protection.
DETAIL2627 EC flange protection_technical drawing
Product no. X0021

EC Protectors (EC)

Simple, effective flange protection. EC Flange Protectors shield flanges and open surfaces from dirt, moisture, paint, sand, and shot blasting. They provide reliable coverage during manufacturing, transport, and storage, preserving surface integrity in demanding industrial environments.

Error compiling template "Designs/Swift-v2/Paragraph/CustomProductActions.cshtml"
Line 29: Argument 1: cannot convert from 'Dynamicweb.Frontend.LinkViewModel' to 'string?'

1 // <auto-generated/> 2 #pragma warning disable 1591 3 namespace CompiledRazorTemplates.Dynamic 4 { 5 #line hidden 6 using System.Threading.Tasks; 7 using System; 8 using System.Collections.Generic; 9 using System.Linq; 10 using Dynamicweb.Core; 11 using Dynamicweb.Ecommerce.ProductCatalog; 12 internal class RazorEngine_e18860e1b86e4a8b826a6a0d08afafcd : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 13 { 14 #pragma warning disable 1998 15 public async override global::System.Threading.Tasks.Task ExecuteAsync() 16 { 17 WriteLiteral("\r\n"); 18 19 ProductViewModel product = null; 20 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 21 { 22 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 23 } 24 25 var iconPath = "Files/Images/Icons/Custom/"; 26 27 var productFamilyParagraphLink = Pageview.SearchFriendlyUrl + "#" + Model.Item.GetLink("ProductFamilyParagraph"); 28 var signInPageLink = Model.Item.GetLink("SignInPage"); 29 bool hasSignInPageLink = !string.IsNullOrWhiteSpace(signInPageLink); 30 31 bool showPricesWithVat = Dynamicweb.Ecommerce.Common.Context.DisplayPricesWithVat; 32 bool neverShowVat = string.IsNullOrEmpty(showPricesWithVat.ToString()); 33 string unitId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("UnitId")) ? Dynamicweb.Context.Current.Request.Form.Get("UnitId") : string.Empty; 34 WriteLiteral("\r\n"); 35 if (product is object) 36 { 37 if (Pageview.User == null) { 38 39 string anonymousUsersLimitations = Pageview.AreaSettings.GetRawValueString("AnonymousUsers", ""); 40 bool hideAddToCart = anonymousUsersLimitations.Contains("cart"); 41 hideAddToCart = Pageview.IsVisualEditorMode ? false : hideAddToCart; 42 43 WriteLiteral("\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row\">\r\n"); 44 if (!hideAddToCart) 45 { 46 WriteLiteral("\t\t\t\t\t<div class=\"col-4 border-end ps-0 d-flex flex-column justify-content-between\">\r\n\t\t\t\t\t\t<div class=\"text-lg semi-bold mb-2\">"); 47 Write(Translate("Custom.ProductActions.Try", "Try before you decide")); 48 WriteLiteral("</div>\r\n\t\t\t\t\t\t<a"); 49 BeginWriteAttribute("href", " href=\"", 1581, "\"", 1615, 1); 50 WriteAttributeValue("", 1588, productFamilyParagraphLink, 1588, 27, false); 51 EndWriteAttribute(); 52 WriteLiteral(" class=\"btn btn-primary w-100\" data-dw-button=\"primary\">\r\n\t\t\t\t\t\t\t<span>"); 53 Write(Translate("Custom.ProductActions.Try.ButtonText", "Request sample")); 54 WriteLiteral("<span class=\"ps-2\">"); 55 Write(ReadFile(iconPath + "arrow-down.svg")); 56 WriteLiteral("</span></span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n"); 57 } 58 WriteLiteral("\t\t\t\t<div"); 59 BeginWriteAttribute("class", " class=\"", 1868, "\"", 1962, 6); 60 WriteAttributeValue("", 1876, "col-", 1876, 4, true); 61 WriteAttributeValue("", 1880, hideAddToCart ? "6" : "4", 1880, 28, false); 62 WriteAttributeValue(" ", 1908, "border-end", 1909, 11, true); 63 WriteAttributeValue(" ", 1919, "d-flex", 1920, 7, true); 64 WriteAttributeValue(" ", 1926, "flex-column", 1927, 12, true); 65 WriteAttributeValue(" ", 1938, "justify-content-between", 1939, 24, true); 66 EndWriteAttribute(); 67 WriteLiteral(">\r\n\t\t\t\t\t<div class=\"text-lg semi-bold mb-2\">"); 68 Write(Translate("Custom.ProductActions.Variants", "Variants")); 69 WriteLiteral("</div>\r\n\t\t\t\t\t<a"); 70 BeginWriteAttribute("href", " href=\"", 2078, "\"", 2112, 1); 71 WriteAttributeValue("", 2085, productFamilyParagraphLink, 2085, 27, false); 72 EndWriteAttribute(); 73 WriteLiteral(" class=\"btn btn-outline-secondary w-100\" data-dw-button=\"outline-secondary\">\r\n\t\t\t\t\t\t<span>"); 74 Write(Translate("Custom.ProductActions.Variants.ButtonText", "View products")); 75 WriteLiteral("<span class=\"ps-2\">"); 76 Write(ReadFile(iconPath + "arrow-down.svg")); 77 WriteLiteral("</span></span>\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div"); 78 BeginWriteAttribute("class", " class=\"", 2379, "\"", 2462, 5); 79 WriteAttributeValue("", 2387, "col-", 2387, 4, true); 80 WriteAttributeValue("", 2391, hideAddToCart ? "6" : "4", 2391, 28, false); 81 WriteAttributeValue(" ", 2419, "d-flex", 2420, 7, true); 82 WriteAttributeValue(" ", 2426, "flex-column", 2427, 12, true); 83 WriteAttributeValue(" ", 2438, "justify-content-between", 2439, 24, true); 84 EndWriteAttribute(); 85 WriteLiteral(">\r\n\t\t\t\t\t<div class=\"text-lg semi-bold d-inline-flex align-items-center mb-2\">\r\n\t\t\t\t\t\t<div class=\"rounded-circle green me-1\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t"); 86 Write(Translate("Custom.ProductActions.Stocklabel", "In stock")); 87 WriteLiteral("\r\n\t\t\t\t\t</div>\r\n"); 88 if (!hideAddToCart && hasSignInPageLink) 89 { 90 WriteLiteral("\t\t\t\t\t\t<a"); 91 BeginWriteAttribute("href", " href=\"", 2746, "\"", 2768, 1); 92 WriteAttributeValue("", 2753, signInPageLink, 2753, 15, false); 93 EndWriteAttribute(); 94 WriteLiteral(" class=\"btn btn-outline-secondary w-100\" data-dw-button=\"outline-secondary\">\r\n\t\t\t\t\t\t\t<span>"); 95 Write(Translate("Custom.ProductActions.SignIn.ButtonText", "Sign in to buy")); 96 WriteLiteral("<span class=\"ps-2\">"); 97 Write(ReadFile(iconPath + "shopping-cart.svg")); 98 WriteLiteral("</span></span>\r\n\t\t\t\t\t\t</a>\r\n"); 99 } 100 WriteLiteral("\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n"); 101 102 } 103 else { 104 WriteLiteral("\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row align-items-center\">\r\n\t\t\t<div class=\"col-6\">\r\n\t\t\t\t\t<div class=\"text-sm medium mb-1\">"); 105 Write(Translate("Custom.ProductActions.Prices", "Prices starting from")); 106 WriteLiteral("</div>\r\n\t\t\t\t\t<div class=\"mb-1\">\r\n"); 107 if (!showPricesWithVat && !neverShowVat) 108 { 109 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceWithoutVatFormatted : product.Price.PriceWithoutVatFormatted; 110 111 if (product?.VariantInfo?.VariantInfo != null) 112 { 113 price = product?.VariantInfo?.PriceMin?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithoutVatFormatted : price; 114 } 115 116 WriteLiteral("\t\t\t\t\t\t\t<span class=\"display-sm bold\">"); 117 Write(price); 118 WriteLiteral("</span>\r\n\t\t\t\t\t\t\t<span class=\"text-sm medium opacity-75\">"); 119 Write(Translate("Custom.ProductActions.Prices.WithoutVat", "ex. VAT")); 120 WriteLiteral("</span>\r\n"); 121 } 122 else 123 { 124 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceFormatted : product.Price.PriceFormatted; 125 126 if (product?.VariantInfo?.VariantInfo != null) 127 { 128 price = product?.VariantInfo?.PriceMin?.PriceFormatted != null ? product.VariantInfo.PriceMin.PriceFormatted : price; 129 } 130 131 132 WriteLiteral("\t\t\t\t\t\t\t<span class=\"display-sm bold\">"); 133 Write(price); 134 WriteLiteral("</span>\r\n\t\t\t\t\t\t\t<span class=\"text-sm medium opacity-75\">"); 135 Write(Translate("Custom.ProductActions.Prices.WithVat", "incl. VAT")); 136 WriteLiteral("</span>\r\n"); 137 } 138 WriteLiteral("\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"fs-7 d-inline-flex align-items-center\">\r\n\t\t\t\t\t\t<div class=\"rounded-circle green me-1\">\r\n\t\t\t\t\t\t</div>\r\n <div class=\"text-sm medium opacity-75\">"); 139 Write(Translate("Custom.ProductActions.Stocklabel", "In stock")); 140 WriteLiteral("</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-6\">\r\n\t\t\t\t\t<a"); 141 BeginWriteAttribute("href", " href=\"", 4781, "\"", 4815, 1); 142 WriteAttributeValue("", 4788, productFamilyParagraphLink, 4788, 27, false); 143 EndWriteAttribute(); 144 WriteLiteral(" class=\"btn btn-primary w-100\" data-dw-button=\"primary\">\r\n\t\t\t\t\t\t<span>"); 145 Write(Translate("Custom.ProductActions.SignedIn.ButtonText", "Buy products")); 146 WriteLiteral("<span class=\"ps-2\">"); 147 Write(ReadFile(iconPath + "shopping-cart.svg")); 148 WriteLiteral("</span></span>\r\n\t\t\t\t\t</a>\r\n\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n"); 149 } 150 151 } 152 else if (Pageview.IsVisualEditorMode) 153 { 154 WriteLiteral("\t<div class=\"alert alert-dark m-0\" role=\"alert\">\r\n\t\t<span>"); 155 Write(Translate("The product actions will be shown here, if available")); 156 WriteLiteral("</span>\r\n\t</div>\r\n"); 157 } 158 } 159 #pragma warning restore 1998 160 } 161 } 162 #pragma warning restore 1591 163

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Core 3 @using Dynamicweb.Ecommerce.ProductCatalog 4 5 @{ 6 ProductViewModel product = null; 7 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 8 { 9 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 10 } 11 12 var iconPath = "Files/Images/Icons/Custom/"; 13 14 var productFamilyParagraphLink = Pageview.SearchFriendlyUrl + "#" + Model.Item.GetLink("ProductFamilyParagraph"); 15 var signInPageLink = Model.Item.GetLink("SignInPage"); 16 bool hasSignInPageLink = !string.IsNullOrWhiteSpace(signInPageLink); 17 18 bool showPricesWithVat = Dynamicweb.Ecommerce.Common.Context.DisplayPricesWithVat; 19 bool neverShowVat = string.IsNullOrEmpty(showPricesWithVat.ToString()); 20 string unitId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("UnitId")) ? Dynamicweb.Context.Current.Request.Form.Get("UnitId") : string.Empty; 21 } 22 23 @if (product is object) 24 { 25 if (Pageview.User == null) { 26 27 string anonymousUsersLimitations = Pageview.AreaSettings.GetRawValueString("AnonymousUsers", ""); 28 bool hideAddToCart = anonymousUsersLimitations.Contains("cart"); 29 hideAddToCart = Pageview.IsVisualEditorMode ? false : hideAddToCart; 30 31 <div class="container"> 32 <div class="row"> 33 @if (!hideAddToCart) 34 { 35 <div class="col-4 border-end ps-0 d-flex flex-column justify-content-between"> 36 <div class="text-lg semi-bold mb-2">@Translate("Custom.ProductActions.Try", "Try before you decide")</div> 37 <a href="@productFamilyParagraphLink" class="btn btn-primary w-100" data-dw-button="primary"> 38 <span>@Translate("Custom.ProductActions.Try.ButtonText", "Request sample")<span class="ps-2">@ReadFile(iconPath + "arrow-down.svg")</span></span> 39 </a> 40 </div> 41 } 42 <div class="col-@(hideAddToCart ? "6" : "4") border-end d-flex flex-column justify-content-between"> 43 <div class="text-lg semi-bold mb-2">@Translate("Custom.ProductActions.Variants", "Variants")</div> 44 <a href="@productFamilyParagraphLink" class="btn btn-outline-secondary w-100" data-dw-button="outline-secondary"> 45 <span>@Translate("Custom.ProductActions.Variants.ButtonText", "View products")<span class="ps-2">@ReadFile(iconPath + "arrow-down.svg")</span></span> 46 </a> 47 </div> 48 <div class="col-@(hideAddToCart ? "6" : "4") d-flex flex-column justify-content-between"> 49 <div class="text-lg semi-bold d-inline-flex align-items-center mb-2"> 50 <div class="rounded-circle green me-1"> 51 </div> 52 @Translate("Custom.ProductActions.Stocklabel", "In stock") 53 </div> 54 @if (!hideAddToCart && hasSignInPageLink) 55 { 56 <a href="@signInPageLink" class="btn btn-outline-secondary w-100" data-dw-button="outline-secondary"> 57 <span>@Translate("Custom.ProductActions.SignIn.ButtonText", "Sign in to buy")<span class="ps-2">@ReadFile(iconPath + "shopping-cart.svg")</span></span> 58 </a> 59 } 60 </div> 61 </div> 62 </div> 63 64 } 65 else { 66 <div class="container"> 67 <div class="row align-items-center"> 68 <div class="col-6"> 69 <div class="text-sm medium mb-1">@Translate("Custom.ProductActions.Prices", "Prices starting from")</div> 70 <div class="mb-1"> 71 @if (!showPricesWithVat && !neverShowVat) 72 { 73 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceWithoutVatFormatted : product.Price.PriceWithoutVatFormatted; 74 75 if (product?.VariantInfo?.VariantInfo != null) 76 { 77 price = product?.VariantInfo?.PriceMin?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithoutVatFormatted : price; 78 } 79 80 <span class="display-sm bold">@price</span> 81 <span class="text-sm medium opacity-75">@Translate("Custom.ProductActions.Prices.WithoutVat", "ex. VAT")</span> 82 } 83 else 84 { 85 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceFormatted : product.Price.PriceFormatted; 86 87 if (product?.VariantInfo?.VariantInfo != null) 88 { 89 price = product?.VariantInfo?.PriceMin?.PriceFormatted != null ? product.VariantInfo.PriceMin.PriceFormatted : price; 90 } 91 92 93 <span class="display-sm bold">@price</span> 94 <span class="text-sm medium opacity-75">@Translate("Custom.ProductActions.Prices.WithVat", "incl. VAT")</span> 95 } 96 </div> 97 <div class="fs-7 d-inline-flex align-items-center"> 98 <div class="rounded-circle green me-1"> 99 </div> 100 <div class="text-sm medium opacity-75">@Translate("Custom.ProductActions.Stocklabel", "In stock")</div> 101 </div> 102 </div> 103 <div class="col-6"> 104 <a href="@productFamilyParagraphLink" class="btn btn-primary w-100" data-dw-button="primary"> 105 <span>@Translate("Custom.ProductActions.SignedIn.ButtonText", "Buy products")<span class="ps-2">@ReadFile(iconPath + "shopping-cart.svg")</span></span> 106 </a> 107 </div> 108 </div> 109 </div> 110 } 111 112 } 113 else if (Pageview.IsVisualEditorMode) 114 { 115 <div class="alert alert-dark m-0" role="alert"> 116 <span>@Translate("The product actions will be shown here, if available")</span> 117 </div> 118 } 119
All benefits
Protects flange faces
from dirt, moisture, and abrasion
Quick application
designed for fast, secure fitting
Saves time
reduces need for post-process cleaning
Product specifications
CO2
A mm
B mm
C mm
H mm
EC015AZ-AA20B Yellow Recycled LDPE 0 90 10 19 15
EC025AZ-AA20B Yellow Recycled LDPE 0 110 19 30 20
EC032AZ-AA20B Yellow Recycled LDPE 0 136 25 39 20
EC035CZ-AA20B Yellow Recycled LDPE 0 80 20 35 20
EC040AZ-AA20B Yellow Recycled LDPE 0 146 30 45 20
EC045AZ-AA20B Yellow Recycled LDPE 0 90 28 45 26
EC050AZ-AA20B Yellow Recycled LDPE 0 160 40 56 20
EC055BZ-AA20B Yellow Recycled LDPE 0 105 38 55 26
EC065AZ-AA20B Yellow Recycled LDPE 0 180 53 72 20
EC080AZ-AA20B Yellow Recycled LDPE 0 196 65 85 25
EC100AZ-AA20B Yellow Recycled LDPE 0 216 87 109 25
EC125AZ-AA20B Yellow Recycled LDPE 0 246 106 134 25
EC150AZ-AA20B Yellow Recycled LDPE 0 280 135 161 35
EC200AZ-AA20B Yellow Recycled LDPE 0 336 185 210 35
EC250AZ-AA20B Yellow Recycled LDPE 0 390 238 262 40

Learn how our full service can add value to your business

Your full-service protection solution partner

Matching applications to mobility
We’re application specialists. We are familiar with each segment’s unique challenges, from assembly conditions to ergonomics.
Value added services
We’re application specialists. We are familiar with each segment’s unique challenges, from assembly conditions to ergonomics.