Gymbag | ryggsäck
No. 1850
kr 50,00 (kr 50,00 ekskl. moms)
Bra kvalitet med extra sömmar. Extra förstärkningar i hörnen. Kraftigt bomullssnöre. 44 x 33 cm.
Error executing template "Designs/identity_v2/ecom/product/partials/add-to-cart.cshtml" System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 56) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows) at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more) at System.Data.SqlClient.SqlDataReader.Read() at Dynamicweb.Ecommerce.Products.DetailRepository.GetDefaultImage(String productId, String productVariantId, String productLanguageId, String detailType) at Dynamicweb.Ecommerce.Products.DetailService.GetDefaultDetail(String productId, String productVariantId, String languageId, IList`1 details) at Dynamicweb.Ecommerce.Products.DetailService.GetDefaultDetail(Product product) at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.get_ImagePrimary() at CompiledRazorTemplates.Dynamic.RazorEngine_7fc21c660a9b479eaaa4e870f5cfa375.<>c__DisplayClass0_0.<VariantOption>b__0(TextWriter __razor_helper_writer) in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Application\Files\Templates\Designs\identity_v2\ecom\product\partials\add-to-cart.cshtml:line 198 at CompiledRazorTemplates.Dynamic.RazorEngine_7fc21c660a9b479eaaa4e870f5cfa375.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Application\Files\Templates\Designs\identity_v2\ecom\product\partials\add-to-cart.cshtml:line 116 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() ClientConnectionId:4a70a1b5-e342-49ad-9a2b-03ac0eec63a8 Error Number:1205,State:45,Class:13
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 15 @{ 16 var shopContext = SiteContext.CurrentSiteContext(); 17 string alternativeAction = string.IsNullOrEmpty(PageView.Current().Area.Item["EcommerceAlternativeCallToAction"]?.ToString()) == false ? PageView.Current().Area.Item["EcommerceAlternativeCallToAction"].ToString() : string.Empty; 18 19 20 } 21 22 23 24 <form action="/system/data/cart" class="e-product-form js-e-product-form js-e-product-form-addtocart pb-1" method="post"> 25 <input name="CartCmd" type="hidden" value="Add"> 26 <input name="ProductID" type="hidden" value="@Model.Id"> 27 <input name="VariantID" type="hidden" value="@Model.VariantId"> 28 <input name="Quantity" type="hidden" value="1"> 29 <input name="Redirect" type="hidden" value=""> 30 <input name="Name" type="hidden" value="@Model.Name"> 31 <input name="Number" type="hidden" value="@Model.Number"> 32 <input name="Price" type="hidden" value="@Model.Price.Value.ToJavaScript()"> 33 <input name="CurrencyCode" type="hidden" value="@Model.Price.CurrencyCode"> 34 35 36 @if (Model.VariantGroups.Any()) 37 { 38 <div class=""> 39 @foreach (KeyValuePair<string, EspressoVariantGroup> variantGroup in Model.VariantGroups) 40 { 41 bool isColorGroup = variantGroup.Value.Id == Co3.ID.Data.Utilities.Constants.PRODUCT_VARIANT_GROUP_COLOR_ID; 42 string groupClassNameAppend = isColorGroup ? "color" : "size"; 43 int variantTake = 7; 44 45 46 string variantInputFieldName = string.Format("{0}_{1}", Model.Id, variantGroup.Value.Id); 47 <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)> 48 <label class="form-control-label font-weight-semibold small @(isColorGroup == false ? "d-flex justify-content-between" : string.Empty)"> 49 @Translate(string.Format("eCom - Product Details - variant header - {0}", variantGroup.Value.Name), variantGroup.Value.Name) 50 @if (isColorGroup == false) 51 { 52 53 if (Model.SizeGuidePageId > 0) 54 { 55 <a class="text-muted font-weight-normal link-underline" data-toggle="modal" data-target="#identity-size-guide-modal"> 56 @Translate("eCom - Product Details - size guide -link -text", "Størrelsesguide") 57 </a> 58 } 59 60 } 61 else 62 { 63 64 <span class="js-identity-selected-color-variant-text">@Model.ColorVariantText</span> 65 } 66 </label> 67 <div class="identity-variant-group d-flex"> 68 @{ 69 int variantCount = variantGroup.Value.Options.Count; 70 bool shouldWrapLast = variantCount > variantTake; 71 int variantIndex = 0; 72 string collapseId = string.Format("collapseExtraVariants_{0}", variantGroup.Value.Name); 73 74 IOrderedEnumerable<KeyValuePair<string, EspressoVariantOption>> variantGroupOptions = variantGroup.Value.Options.OrderBy(o => o.Key); 75 76 if (isColorGroup) 77 { 78 variantGroupOptions = variantGroup.Value.Options.OrderByDescending(o => o.Value.Id == variantGroup.Value.SelectedOptionId); 79 } 80 else 81 { 82 Dictionary<string, int> variantGroupOptionSortOrder = ProductService.Instance.GetVariantGroupOptionSortOrder(variantGroup.Value.Name); 83 variantGroupOptions = variantGroup.Value.Options.OrderBy(o => o.Value.Id != null && variantGroupOptionSortOrder.ContainsKey(o.Value.Id) ? variantGroupOptionSortOrder[o.Value.Id] : 99); 84 } 85 } 86 87 88 @foreach (KeyValuePair<string, EspressoVariantOption> variantOption in variantGroupOptions) 89 { 90 string variantInputFieldId = string.Format("{0}_{1}", variantInputFieldName, variantOption.Value.Id); 91 bool isSelected = variantOption.Value.Id == variantGroup.Value.SelectedOptionId; 92 string lastVariantIdBeforeWrap = string.Empty; 93 94 95 if (shouldWrapLast && variantIndex == variantTake) 96 { 97 lastVariantIdBeforeWrap = variantOption.Key; 98 99 <label class="custom-control custom-radio identity-variant-select-option js-identity-variant-select-option"> 100 <span class="custom-control-description disabled"> 101 <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"> 102 <span class="js-variant-hidden-count" data-default="@(variantCount - variantTake)">+@(variantCount - variantTake)</span> 103 </span> 104 </span> 105 </label> 106 107 @VariantOption(isColorGroup, isSelected, variantInputFieldId, variantInputFieldName, variantOption, true) 108 109 @:</div> 110 @:<div class="collapse js-identity-extra-variants-collapse" id="@collapseId"> 111 @:<div class="identity-variant-group d-flex"> 112 } 113 114 if (variantOption.Key != lastVariantIdBeforeWrap) 115 { 116 @VariantOption(isColorGroup, isSelected, variantInputFieldId, variantInputFieldName, variantOption) 117 } 118 119 if (shouldWrapLast && (variantIndex + 1) == variantCount) 120 { 121 <label class="custom-control custom-radio identity-variant-select-option"> 122 <span class="custom-control-description disabled"> 123 <span class="@(isColorGroup ? "identity-variant-select-option-color" : "identity-variant-select-option-generic")" data-toggle="collapse" href="#@collapseId" role="button" aria-expanded="false"> 124 <span class="variant-close-toggle"></span> 125 </span> 126 </span> 127 </label> 128 @:</div> 129 } 130 variantIndex++; 131 } 132 </div> 133 @{ 134 int idSizeGuidePageId = Convert.ToInt32(PageView.Current().Area.Item["IDSizeGuide"]); 135 136 } 137 @if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 138 { 139 if (Model.SizeGuidePageId > 0 || Model.BrandCode == "PRIVATELAB" && idSizeGuidePageId > 0) 140 { 141 <div class="d-flex justify-content-start mt-1"> 142 <a class="text-muted font-weight-normal link-underline small" data-toggle="modal" data-target="#identity-size-guide-modal"> 143 @Translate("eCom - Product Details - size guide -link -text", "Størrelsesguide") 144 </a> 145 </div> 146 } 147 } 148 </div> 149 } 150 151 </div> 152 } 153 @if (PageView.Current().IsBasketEnabled()) 154 { 155 if (shopContext == ShopType.B2C) 156 { 157 <button class="btn btn-primary btn-lg btn-block position-relative" type="submit"> 158 @Translate("eCom Product - Add To Cart - Button", "Add to cart") 159 </button> 160 } 161 } 162 else 163 { 164 @alternativeAction 165 } 166 167 </form> 168 169 170 @helper VariantOption(bool isColorGroup, bool isSelected, string variantInputFieldId, string variantInputFieldName, KeyValuePair<string, EspressoVariantOption> variantOption, bool boolHide = false) 171 { 172 <label class="custom-control custom-radio identity-variant-select-option @(boolHide == true ? "js-identity-variant-select-option-hidden d-none" : string.Empty)"> 173 <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)> 174 @* 175 @if (isColorGroup) 176 { 177 178 } 179 else 180 { 181 string variantComboId = string.Format("{0}.{1}", Model.VariantGroups[Co3.ID.Data.Utilities.Constants.PRODUCT_VARIANT_GROUP_COLOR_ID].SelectedOptionId, variantOption.Value.Id); 182 IdentityProduct idProduct = ProductService.Instance.GetVariantByComboId(Model, variantComboId); 183 <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")> 184 }*@ 185 <span class="custom-control-description"> 186 <div class="identity-corner-brackets-container identity-corner-brackets-all border-primary is-corner-thumb p-0"> 187 <div class="identity-corner-brackets-wrapper border-primary"> 188 189 190 191 192 193 @if (isColorGroup) 194 { 195 EspressoVariantGroup sizeVariantGroup = Model.VariantGroups.FirstOrDefault(vg => vg.Key != Co3.ID.Data.Utilities.Constants.PRODUCT_VARIANT_GROUP_COLOR_ID).Value; 196 string variantComboId = string.Format("{0}.{1}", variantOption.Value.Id, sizeVariantGroup.SelectedOptionId); 197 IdentityProduct idProduct = ProductService.Instance.GetVariantByComboId(Model, variantComboId); 198 EspressoProductImageUrl imageUrl = idProduct?.ImagePrimary; 199 200 if (imageUrl != null) 201 { 202 <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> 203 } 204 else 205 { 206 <span class="identity-variant-select-option-generic"> 207 <span>@variantOption.Value.Name</span> 208 </span> 209 } 210 } 211 else 212 { 213 <span class="identity-variant-select-option-generic"> 214 <span class="js-variant-size-text">@variantOption.Value.Name</span> 215 </span> 216 } 217 218 219 </div> 220 </div></span> 221 </label> 222 } 223
Bra kvalitet med extra sömmar. Extra förstärkningar i hörnen. Kraftigt bomullssnöre. 44 x 33 cm.
- Bra kvalitet med extra sömmar
- Extra förstärkningar i hörnen
- Kraftigt bomullssnöre
- 44 x 33 cm
Composition & Materials
Composition
100% polyamid
Storlek
One size
BrandCode
ID®
g/m²
80
Rekommenderad förädling

Polyamid transfer
Denna transfer är monterad vid lägre temperaturer och är en mycket töjbar transfer. Lämplig för mycket släta och tunna material. Fördelen med denna transfer är att den kan monteras vid lägre temperaturer vilket gör att du slipper uppenbara blanka tryckytor på nylonmaterialet. Överlåtelsen är OEKO-TEX®, bilaga 6, produktklass 1 certifierad. Läs mer här
Rapport om företagens sociala ansvar, jfr § 99a i den danska bokföringslagen. ID® ansvarsrapport 2022/2023. Läs här