Herren

PRO Wear CARE Sweatshirt | unangeraut | Damen

No. 0381

Herren

 36,10 ( 36,10 exkl. MwSt. )

EU Ecolabel-zertifiziertes, strapazierfähiges Sweatshirt mit unangerauter Innenseite. Klassisches Modell mit O-Ausschnitt, zusätzlicher Verstärkung im Schulterbereich sowie Verstär...Mehr anzeigen
Error executing template "Designs/identity_v2/ecom/product/partials/add-to-cart.cshtml"
System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.get_ImagePrimary()
   at CompiledRazorTemplates.Dynamic.RazorEngine_1642a93bcb5d46d79e9878f34deae947.<>c__DisplayClass0_0.<VariantOption>b__0(TextWriter __razor_helper_writer) in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Files\Templates\Designs\identity_v2\ecom\product\partials\add-to-cart.cshtml:line 193
   at CompiledRazorTemplates.Dynamic.RazorEngine_1642a93bcb5d46d79e9878f34deae947.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Files\Templates\Designs\identity_v2\ecom\product\partials\add-to-cart.cshtml:line 126
   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 ViewModelTemplate<Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct> 2 @using Co3.Espresso.Base.Extensions 3 @using Co3.Espresso.Website.Models.FrontEnd.Ecommerce 4 @using Co3.Espresso.Website.Models.FrontEnd.Settings 5 @using Co3.ID.Dw.Helpers 6 @using Co3.ID.Dw.Models.Frontend.Ecommerce 7 @using Dynamicweb.Ecommerce.Common 8 @using Dynamicweb.Ecommerce.Variants 9 @using Dynamicweb.Ecommerce.Products 10 @using Dynamicweb.Frontend 11 @using Dynamicweb.Rendering 12 @using Dynamicweb.Security.UserManagement 13 @using ProductService = Co3.ID.Dw.Services.ProductService 14 @using System.Web 15 16 @{ 17 var shopContext = SiteContext.CurrentSiteContext(); 18 string alternativeAction = string.IsNullOrEmpty(PageView.Current().Area.Item["EcommerceAlternativeCallToAction"]?.ToString()) == false ? PageView.Current().Area.Item["EcommerceAlternativeCallToAction"].ToString() : string.Empty; 19 20 21 } 22 23 24 25 <form action="/system/data/cart" class="e-product-form js-e-product-form js-e-product-form-addtocart pb-1" method="post"> 26 <input name="CartCmd" type="hidden" value="Add"> 27 <input name="ProductID" type="hidden" value="@Model.Id"> 28 <input name="VariantID" type="hidden" value="@Model.VariantId"> 29 <input name="Quantity" type="hidden" value="1"> 30 <input name="Redirect" type="hidden" value=""> 31 <input name="Name" type="hidden" value="@Model.Name"> 32 <input name="Number" type="hidden" value="@Model.Number"> 33 <input name="Price" type="hidden" value="@Model.Price.Value.ToJavaScript()"> 34 <input name="CurrencyCode" type="hidden" value="@Model.Price.CurrencyCode"> 35 36 37 @if (Model.VariantGroups.Any()) 38 { 39 <div class=""> 40 @foreach (KeyValuePair<string, EspressoVariantGroup> variantGroup in Model.VariantGroups) 41 { 42 bool isColorGroup = variantGroup.Value.Id == Co3.ID.Data.App.Constants.PRODUCT_VARIANT_GROUP_COLOR_ID; 43 string groupClassNameAppend = isColorGroup ? "color" : "size"; 44 int variantTake = 7; 45 46 47 string variantInputFieldName = string.Format("{0}_{1}", Model.Id, variantGroup.Value.Id); 48 <div class="form-group js-e-product-form-variant-form-group e-product-form-variant-form-group-@groupClassNameAppend js-e-product-form-variant-form-group-@groupClassNameAppend" data-auto-select="true" data-variant-take="@variantTake" @(((shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop || !PageView.Current().IsBasketEnabled()) && groupClassNameAppend == "size") ? "hidden" : string.Empty)> 49 <label class="form-control-label d-flex font-weight-semibold small @(isColorGroup == false ? "d-flex justify-content-between" : string.Empty)"> 50 @Translate(string.Format("eCom - Product Details - variant header - {0}", variantGroup.Value.Name), variantGroup.Value.Name) 51 @if (isColorGroup == true) 52 { 53 <span class="js-identity-selected-color-variant-text">@Model.ColorVariantText</span> 54 55 if (Model.SizeGuidePageId > 0) 56 { 57 if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 58 { 59 if (Model.SizeGuidePageId > 0 || Model.BrandCode == "PRIVATELAB") 60 { 61 <a class="ml-auto text-muted font-weight-normal link-underline" data-toggle="modal" data-target="#identity-size-guide-modal"> 62 @Translate("eCom - Product Details - size guide -link -text", "Størrelsesguide") 63 </a> 64 } 65 } 66 else 67 { 68 <a class="ml-auto text-muted font-weight-normal link-underline" data-toggle="modal" data-target="#identity-size-guide-modal"> 69 @Translate("eCom - Product Details - size guide -link -text", "Størrelsesguide") 70 </a> 71 } 72 73 } 74 75 } 76 </label> 77 <div class="identity-variant-group d-flex"> 78 @{ 79 int variantCount = variantGroup.Value.Options.Count; 80 bool shouldWrapLast = variantCount > variantTake; 81 int variantIndex = 0; 82 string collapseId = string.Format("collapseExtraVariants_{0}", variantGroup.Value.Name); 83 84 IOrderedEnumerable<KeyValuePair<string, EspressoVariantOption>> variantGroupOptions = variantGroup.Value.Options.OrderBy(o => o.Key); 85 86 if (isColorGroup) 87 { 88 variantGroupOptions = variantGroup.Value.Options.OrderByDescending(o => o.Value.Id == variantGroup.Value.SelectedOptionId); 89 } 90 else 91 { 92 Dictionary<string, int> variantGroupOptionSortOrder = ProductService.Instance.GetVariantGroupOptionSortOrder(variantGroup.Value.Name); 93 variantGroupOptions = variantGroup.Value.Options.OrderBy(o => o.Value.Id != null && variantGroupOptionSortOrder.ContainsKey(o.Value.Id) ? variantGroupOptionSortOrder[o.Value.Id] : 99); 94 } 95 } 96 97 98 @foreach (KeyValuePair<string, EspressoVariantOption> variantOption in variantGroupOptions) 99 { 100 string variantInputFieldId = string.Format("{0}_{1}", variantInputFieldName, variantOption.Value.Id); 101 bool isSelected = variantOption.Value.Id == variantGroup.Value.SelectedOptionId; 102 string lastVariantIdBeforeWrap = string.Empty; 103 104 105 if (shouldWrapLast && variantIndex == variantTake) 106 { 107 lastVariantIdBeforeWrap = variantOption.Key; 108 109 <label class="custom-control custom-radio identity-variant-select-option js-identity-variant-select-option"> 110 <span class="custom-control-description disabled"> 111 <span class="@(isColorGroup ? "identity-variant-select-option-color" : "identity-variant-select-option-generic") js-identity-extra-variants-toggler" data-toggle="collapse" href="#@collapseId" role="button" aria-expanded="false"> 112 <span class="js-variant-hidden-count" data-default="@(variantCount - variantTake)">+@(variantCount - variantTake)</span> 113 </span> 114 </span> 115 </label> 116 117 @VariantOption(isColorGroup, isSelected, variantInputFieldId, variantInputFieldName, variantOption, true) 118 119 @:</div> 120 @:<div class="collapse js-identity-extra-variants-collapse" id="@collapseId"> 121 @:<div class="identity-variant-group d-flex"> 122 } 123 124 if (variantOption.Key != lastVariantIdBeforeWrap) 125 { 126 @VariantOption(isColorGroup, isSelected, variantInputFieldId, variantInputFieldName, variantOption) 127 } 128 129 if (shouldWrapLast && (variantIndex + 1) == variantCount) 130 { 131 <label class="custom-control custom-radio identity-variant-select-option"> 132 <span class="custom-control-description disabled"> 133 <span class="@(isColorGroup ? "identity-variant-select-option-color" : "identity-variant-select-option-generic")" data-toggle="collapse" href="#@collapseId" role="button" aria-expanded="false"> 134 <span class="variant-close-toggle"></span> 135 </span> 136 </span> 137 </label> 138 @:</div> 139 } 140 variantIndex++; 141 } 142 </div> 143 </div> 144 } 145 146 </div> 147 } 148 @if (PageView.Current().IsBasketEnabled()) 149 { 150 if (shopContext == ShopType.B2C) 151 { 152 <button class="btn btn-primary btn-lg btn-block position-relative" type="submit"> 153 @Translate("eCom Product - Add To Cart - Button", "Add to cart") 154 </button> 155 } 156 } 157 else 158 { 159 @alternativeAction 160 } 161 162 </form> 163 164 165 @helper VariantOption(bool isColorGroup, bool isSelected, string variantInputFieldId, string variantInputFieldName, KeyValuePair<string, EspressoVariantOption> variantOption, bool boolHide = false) 166 { 167 <label class="custom-control custom-radio identity-variant-select-option @(boolHide == true ? "js-identity-variant-select-option-hidden d-none" : string.Empty)"> 168 <input class="custom-control-input js-e-product-form-variant-group-input required" id="@variantInputFieldId" name="@variantInputFieldName" title="@HttpUtility.HtmlEncode(variantOption.Value.Name.Replace("\"", "'"))" data-name="@HttpUtility.HtmlEncode(variantOption.Value.Name.Replace("\"", "'"))" type="radio" value="@variantOption.Value.Id" @(isSelected ? "checked" : string.Empty)> 169 @* 170 @if (isColorGroup) 171 { 172 173 } 174 else 175 { 176 string variantComboId = string.Format("{0}.{1}", Model.VariantGroups[Co3.ID.Data.App.Constants.PRODUCT_VARIANT_GROUP_COLOR_ID].SelectedOptionId, variantOption.Value.Id); 177 IdentityProduct idProduct = ProductService.Instance.GetVariantByComboId(Model, variantComboId); 178 <input class="custom-control-input js-e-product-form-variant-group-input required" id="@variantInputFieldId" name="@variantInputFieldName" title="@variantOption.Value.Name" data-name="@variantOption.Value.Name" type="radio" value="@variantOption.Value.Id" @(isSelected ? "checked" : string.Empty) @(idProduct.Stock.Quantity> 0 ? string.Empty : "disabled")> 179 }*@ 180 <span class="custom-control-description"> 181 <div class="identity-corner-brackets-container identity-corner-brackets-all border-primary is-corner-thumb p-0"> 182 <div class="identity-corner-brackets-wrapper border-primary"> 183 184 185 186 187 188 @if (isColorGroup) 189 { 190 EspressoVariantGroup sizeVariantGroup = Model.VariantGroups.FirstOrDefault(vg => vg.Key != Co3.ID.Data.App.Constants.PRODUCT_VARIANT_GROUP_COLOR_ID).Value; 191 string variantComboId = string.Format("{0}.{1}", variantOption.Value.Id, sizeVariantGroup.SelectedOptionId); 192 IdentityProduct idProduct = ProductService.Instance.GetVariantByComboId(Model, variantComboId); 193 EspressoProductImageUrl imageUrl = idProduct?.ImagePrimary; 194 195 if (imageUrl != null) 196 { 197 <span class="identity-variant-select-option-color js-variant-color-image" style="background-image: url(@imageUrl.Small);" data-image="@imageUrl.Small" data-name="@variantOption.Value.Name" data-toggle="tooltip" data-placement="top" title="@variantOption.Value.Name"></span> 198 } 199 else 200 { 201 <span class="identity-variant-select-option-generic"> 202 <span>@variantOption.Value.Name</span> 203 </span> 204 } 205 } 206 else 207 { 208 <span class="identity-variant-select-option-generic"> 209 <span class="js-variant-size-text">@variantOption.Value.Name</span> 210 </span> 211 } 212 213 214 </div> 215 </div> 216 </span> 217 </label> 218 } 219

EU Ecolabel-zertifiziertes, strapazierfähiges Sweatshirt mit unangerauter Innenseite. Klassisches Modell mit O-Ausschnitt, zusätzlicher Verstärkung im Schulterbereich sowie Verstärkung der Nackennähte. Doppelnähte und Bündchen an Hals, Ärmel und Bund. Das Sweatshirt besteht aus verantwortungsbewusst hergestellter Baumwolle sowie recyceltem Polyester und wurde sowohl vor als auch nach dem Färben bei sehr hohen Temperaturen vorgeschrumpft, um zusätzliche Stabilität und lange Lebensdauer zu gewährleisten.

PRO Wear CARE Sweatshirt | unangeraut | Damen
PRO Wear CARE Sweatshirt | unangeraut | Damen
PRO Wear CARE Sweatshirt | unangeraut | Damen
PRO Wear CARE Sweatshirt | unangeraut | Damen

Firmenbekleidung & Merch designen

Produkt auswählen, Logo hochladen – und schnell ein Angebot von einem ID®-Händler erhalten.

Jetzt Design starten

Kein passendes Kleidungsstück gefunden?

Mit einer Private Label-Lösung entwickeln Sie einzigartige Styles in enger Zusammenarbeit mit unserem erfahrenen Team.

Hier Möglichkeiten ansehen

Produktion & Industrie

Klinik & Gesundheit

Einzelhandel, Handel & Service

Hotel, Café & Restaurant

Zeitlose Arbeitskleidung

Profilbekleidung & Firmenkleidung
mit zeitlosem Design
seit 1983

Gemeinschaft stärken

Logo-Bekleidung, die
eine gemeinsame Identität
schafft

Finden Sie Ihre Farbe

Wählen Sie aus 60+ Farben
– passend zu Ihrem
Unternehmensprofil

Qualität, die hält

Hochwertige Firmenkleidung
– behält Form und Farbe
Wäsche für Wäsche

Erklärung zur sozialen Verantwortung, vgl. § 99a des dänischen Rechnungsabschlussgesetzes". BCI cotton Unseren Verantwortungsbericht hier ansehen

keyboard_arrow_up