Langærmet poloshirt | stretch | dame
No. 0545
kr. 309,00 (kr. 247,20 ekskl. moms)
Tidløs poloshirt i pique kvalitet med stretch. Lange ærmer med elastisk rib afslutning. Indvendig med nakkespejl og nakkebånd. Tone i tone knaplukning.
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
Tidløs poloshirt i pique kvalitet med stretch. Lange ærmer med elastisk rib afslutning. Indvendig med nakkespejl og nakkebånd. Tone i tone knaplukning.
- Langærmet poloshirt med stretch
- Elastisk ribafslutning ved ærme
- Nakkespejl og nakkebånd
Certifikater
OEKO-TEX®, appx. 6, prod. class 1
ID® har et stort udvalg af STANDARD 100 by OEKO-TEX certificerede produkter samt STANDARD 100 by OEKO-TEX, annex 6, produktklasse 1, som stiller yderligt skærpede krav til tøjets indhold af sundheds- og miljøskadelige stoffer.
Egenskaber & materialer
Komposition
95% bomuld 5% elastan
Størrelse
XS
,
S
,
M
,
L
,
XL
,
2XL
,
3XL
,
4XL
,
5XL
,
6XL
Brand
ID®
g/m²
210 - 220
Pasform
FITTED
Vaskeanvisning
40 grader
Tåler ikke blegemidler
Tåler ikke tørretumbling
Hængetørre
Strygning ved maks. 150 grader
Rens i perchlor, mineralsk terpentin eller lign.
Anbefalet forædling

Standard transfer
Er den mest populære transfer, og den billigste, som kan anvendes på bomuld, bomuld/polyester og blandingsmaterialer. Transferen er velegnet til almindelig hjemmevask, og er OEKO-TEX®, Annex 6, produktklasse 1 certificeret. Læs mere her
Relaterede produkter
Error executing template "Designs/identity_v2/ecom/productlist/partials/item.cshtml" System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 63) 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 Co3.ID.Dw.Services.ProductService.GetVariantImages(IdentityProduct product, KeyValuePair`2 variantGroup) at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.GetVariantCombinationsPrimaryImages() at CompiledRazorTemplates.Dynamic.RazorEngine_4b0a30cc38c445d98a0c785231158b0d.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Application\Files\Templates\Designs\identity_v2\ecom\productlist\partials\item.cshtml:line 71 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:c0e9c41d-1a87-4bfc-97f8-5425dc245692 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.Elements 5 @using Co3.Espresso.Website.Models.FrontEnd.Handlebars 6 @using Co3.Espresso.Website.Models.FrontEnd.Settings 7 @using Co3.Espresso.Website.Services 8 @using Co3.ID.Dw.Helpers 9 @using Co3.ID.Dw.Models.Frontend.Ecommerce 10 @using Co3.ID.Dw.Models.Frontend.Users 11 @using Dynamicweb.Rendering 12 @using Co3.ID.Dw.Services 13 @using Dynamicweb.Frontend 14 @using Dynamicweb.Security.UserManagement 15 @using RenderingService = Co3.Espresso.Website.Services.RenderingService 16 17 @{ 18 string productName = Model.Name; 19 string productNumber = Model.Number; 20 21 User currentUser = PageView.Current().User; 22 ShopType shopContext = SiteContext.CurrentSiteContext(); 23 bool isCustomerShop = (PageView.Current().Area.Item["IsCustomerShop"] != null && (bool)PageView.Current().Area.Item["IsCustomerShop"] == true); 24 string discountGroup = currentUser != null ? currentUser.GetCustomFieldValue< string >( "DiscountGroup" ) : string.Empty; 25 bool showPrices = !isCustomerShop || UserContext.Current.CustomerShop != null && UserContext.Current.CustomerShop.Settings.ShowPrices == true; 26 27 string hoverImage = string.Empty; 28 29 if (!isCustomerShop && Model.ListItemHoverImage != null) 30 { 31 hoverImage = Model.ListItemHoverImage.Medium; 32 } 33 } 34 35 <div class="e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item- p-1" data-product-id="@Model.Id" data-variant-id="@Model.VariantId" data-brand-code="@Model.BrandCode"> 36 37 <div class="productlist-brand-wrapper"> 38 @if ( Model.BrandCode == "SS" ) 39 { 40 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/SevenSeasByID.svg" ) 41 } 42 43 @if ( Model.BrandCode == "GEYSER" ) 44 { 45 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/GEYSER.svg" ) 46 } 47 48 @if ( Model.BrandCode == "PRO WEAR" ) 49 { 50 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/ProWearByID.svg" ) 51 } 52 </div> 53 54 <div class="productlist-label-container"> 55 @if ( Model.ProductLabels != null ) 56 { 57 foreach ( IdentityProductLabel label in Model.ProductLabels ) 58 { 59 <span class="productlist-label label-@label.ClassName ">@label.Text</span> 60 } 61 } 62 63 </div> 64 65 <div class="e-productlist-item-container"> 66 <div class="e-productlist-item-image-container"> 67 <a class="e-productlist-item-image-wrapper" href="@Model.Link"> 68 <img alt="@Model.Name" class="e-productlist-item-image js-e-productlist-item-image" src="@Model.ImagePrimary.Medium" data-base-image="@Model.ImagePrimary.Medium" data-hover-image="@hoverImage"> 69 </a> 70 71 @if (Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) 72 { 73 <div class="identity-variant-listitem-select-option-container d-none d-md-block"> 74 <div class="d-flex identity-variant-listitem-select-option-wrapper"> 75 76 @{ 77 int variantCount = Model.VariantPrimaryImages.Count; 78 int variantCountTake = variantCount <= 5 ? 5 : 4; 79 } 80 @foreach ( IdentityProductVariants variantImage in Model.VariantPrimaryImages.Take( variantCountTake ) ) 81 { 82 if (!string.IsNullOrEmpty(variantImage.Link) && variantImage.Image != null) 83 { 84 <span class="select-option-color-wrapper js-select-option-color-wrapper"> 85 <a href="@variantImage.Link"><span class="identity-variant-listitem-select-option-color js-identity-variant-listitem-select-option-color" style="background-image: url(@variantImage.Image.Small);" data-hover-image="@variantImage.Image.Medium"></span></a> 86 </span> 87 } 88 89 } 90 @if ( Model.VariantPrimaryImages.Count > 5 ) 91 { 92 string moreVariantText = string.Format( "+{0}", Model.VariantPrimaryImages.Count - 4 ); 93 <span class="select-option-color-wrapper bg-light variant-option-extra-count"> 94 <span class="identity-variant-listitem-select-option-color">@moreVariantText</span> 95 </span> 96 } 97 </div> 98 </div> 99 100 } 101 102 </div> 103 <div class="e-productlist-item-text-container small"> @* CSS ADD text-truncate *@ 104 <p class="e-productlist-item-name mb-0"> 105 <a href="@Model.Link" class="text-ellipsis"> 106 @Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number 107 @productName 108 </a> 109 </p> 110 <div class="e-productlist-item-text mb-0"> 111 @if (shopContext == ShopType.B2B && string.IsNullOrEmpty(discountGroup) == false && Model.ListPrices != null && Model.ListPrices.Any()) 112 { 113 <p class="e-product-price mb-0 mt-0"> 114 115 @if (SiteContext.ShowPrices()) 116 { 117 <span class="d-block font-weight-bold"> 118 @Translate("Product Netto Price - Text", "Nettopris") 119 <span class="js-e-product-price"> 120 @Model.Price.Formatted 121 </span> 122 </span> 123 } 124 125 126 <span class="d-block text-muted id-product-details-list-price"> 127 @Translate("Product List Price - Text", "Listepris") 128 <span class="js-e-product-listprice"> 129 @PriceService.Instance.GetPrice(new PriceSettings() 130 { 131 Value = Model.ListPrices.FirstOrDefault()?.Amount 132 }) 133 </span> 134 </span> 135 </p> 136 } 137 @if (shopContext == ShopType.B2C || shopContext == ShopType.CustomerShop) 138 { 139 <p class="e-product-price mb-1 mt-0 @(SiteContext.ShowPrices() == false ? "hidden-price" : string.Empty)"> 140 <span class="e-productlist-item-price"> 141 <a href="@Model.Link"> 142 @Model.Price.Formatted 143 </a> 144 </span> 145 <small>(@(Model.PriceWithoutVat.Value > 0 && Model.PriceWithoutVat.Value.Equals(Model.Price.Value) == false ? Model.PriceWithoutVat.Formatted : string.Empty) @Translate("Ecom - Price without VAT - text", "ekskl. moms") )</small> 146 </p> 147 } 148 149 </div> 150 @if ( Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) { 151 152 int variantCount = Model.VariantPrimaryImages.Count; 153 154 if ( Model.VariantPrimaryImages.Count > 1 ) { 155 <div class="d-block d-md-none"> 156 <p class="p-0 m-0 font-weight-semibold"><small>+ @variantCount @Translate("Product List Colors - Text", "farver")</small></p> 157 </div> 158 } 159 } 160 </div> 161 @if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 162 { 163 <form class="d-flex justify-content-end"> 164 <a class="btn btn-primary text-white mt-0 position-relative js-identity-productlist-get-variant-matrix-modal identity-productlist-get-variant-matrix-modal-btn"> 165 <span class="identity-productlist-get-variant-matrix-modal-text"> 166 @ImageService.Instance.GetSvgMarkup("/Files/Images/icons/outline/41-shopping/shopping-cart-add-2.svg") 167 </span> 168 </a> 169 </form> 170 171 <div class="e-loading-overlay e-productlist-loading-overlay js-e-matrix-loading-overlay"> 172 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" ) 173 </div> 174 } 175 </div> 176 <code class="js-identity-product-data" hidden> 177 @{ 178 dynamic productImperssionClick = new 179 { 180 item_name = Model.Name, 181 item_id = Model.Id, 182 price = Model.Price.Value.ToJavaScript(), 183 item_brand = Model.BrandName, 184 item_category = Model.Category, 185 item_variant = Model.ColorVariantText 186 }; 187 @JsonService.Instance.ToJson(productImperssionClick) 188 } 189 </code> 190 </div> 191
{"item_name":"Flannel skjorte | dame","item_id":"PROD2780","price":"849.00","item_brand":"ID","item_category":"Skjorter","item_variant":"Navy"}
Error executing template "Designs/identity_v2/ecom/productlist/partials/item.cshtml" System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 54) 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 Co3.ID.Dw.Services.ProductService.GetVariantImages(IdentityProduct product, KeyValuePair`2 variantGroup) at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.GetVariantCombinationsPrimaryImages() at CompiledRazorTemplates.Dynamic.RazorEngine_4b0a30cc38c445d98a0c785231158b0d.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Application\Files\Templates\Designs\identity_v2\ecom\productlist\partials\item.cshtml:line 71 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:86f92dd9-28e8-456b-8074-8ee587269a31 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.Elements 5 @using Co3.Espresso.Website.Models.FrontEnd.Handlebars 6 @using Co3.Espresso.Website.Models.FrontEnd.Settings 7 @using Co3.Espresso.Website.Services 8 @using Co3.ID.Dw.Helpers 9 @using Co3.ID.Dw.Models.Frontend.Ecommerce 10 @using Co3.ID.Dw.Models.Frontend.Users 11 @using Dynamicweb.Rendering 12 @using Co3.ID.Dw.Services 13 @using Dynamicweb.Frontend 14 @using Dynamicweb.Security.UserManagement 15 @using RenderingService = Co3.Espresso.Website.Services.RenderingService 16 17 @{ 18 string productName = Model.Name; 19 string productNumber = Model.Number; 20 21 User currentUser = PageView.Current().User; 22 ShopType shopContext = SiteContext.CurrentSiteContext(); 23 bool isCustomerShop = (PageView.Current().Area.Item["IsCustomerShop"] != null && (bool)PageView.Current().Area.Item["IsCustomerShop"] == true); 24 string discountGroup = currentUser != null ? currentUser.GetCustomFieldValue< string >( "DiscountGroup" ) : string.Empty; 25 bool showPrices = !isCustomerShop || UserContext.Current.CustomerShop != null && UserContext.Current.CustomerShop.Settings.ShowPrices == true; 26 27 string hoverImage = string.Empty; 28 29 if (!isCustomerShop && Model.ListItemHoverImage != null) 30 { 31 hoverImage = Model.ListItemHoverImage.Medium; 32 } 33 } 34 35 <div class="e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item- p-1" data-product-id="@Model.Id" data-variant-id="@Model.VariantId" data-brand-code="@Model.BrandCode"> 36 37 <div class="productlist-brand-wrapper"> 38 @if ( Model.BrandCode == "SS" ) 39 { 40 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/SevenSeasByID.svg" ) 41 } 42 43 @if ( Model.BrandCode == "GEYSER" ) 44 { 45 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/GEYSER.svg" ) 46 } 47 48 @if ( Model.BrandCode == "PRO WEAR" ) 49 { 50 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/ProWearByID.svg" ) 51 } 52 </div> 53 54 <div class="productlist-label-container"> 55 @if ( Model.ProductLabels != null ) 56 { 57 foreach ( IdentityProductLabel label in Model.ProductLabels ) 58 { 59 <span class="productlist-label label-@label.ClassName ">@label.Text</span> 60 } 61 } 62 63 </div> 64 65 <div class="e-productlist-item-container"> 66 <div class="e-productlist-item-image-container"> 67 <a class="e-productlist-item-image-wrapper" href="@Model.Link"> 68 <img alt="@Model.Name" class="e-productlist-item-image js-e-productlist-item-image" src="@Model.ImagePrimary.Medium" data-base-image="@Model.ImagePrimary.Medium" data-hover-image="@hoverImage"> 69 </a> 70 71 @if (Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) 72 { 73 <div class="identity-variant-listitem-select-option-container d-none d-md-block"> 74 <div class="d-flex identity-variant-listitem-select-option-wrapper"> 75 76 @{ 77 int variantCount = Model.VariantPrimaryImages.Count; 78 int variantCountTake = variantCount <= 5 ? 5 : 4; 79 } 80 @foreach ( IdentityProductVariants variantImage in Model.VariantPrimaryImages.Take( variantCountTake ) ) 81 { 82 if (!string.IsNullOrEmpty(variantImage.Link) && variantImage.Image != null) 83 { 84 <span class="select-option-color-wrapper js-select-option-color-wrapper"> 85 <a href="@variantImage.Link"><span class="identity-variant-listitem-select-option-color js-identity-variant-listitem-select-option-color" style="background-image: url(@variantImage.Image.Small);" data-hover-image="@variantImage.Image.Medium"></span></a> 86 </span> 87 } 88 89 } 90 @if ( Model.VariantPrimaryImages.Count > 5 ) 91 { 92 string moreVariantText = string.Format( "+{0}", Model.VariantPrimaryImages.Count - 4 ); 93 <span class="select-option-color-wrapper bg-light variant-option-extra-count"> 94 <span class="identity-variant-listitem-select-option-color">@moreVariantText</span> 95 </span> 96 } 97 </div> 98 </div> 99 100 } 101 102 </div> 103 <div class="e-productlist-item-text-container small"> @* CSS ADD text-truncate *@ 104 <p class="e-productlist-item-name mb-0"> 105 <a href="@Model.Link" class="text-ellipsis"> 106 @Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number 107 @productName 108 </a> 109 </p> 110 <div class="e-productlist-item-text mb-0"> 111 @if (shopContext == ShopType.B2B && string.IsNullOrEmpty(discountGroup) == false && Model.ListPrices != null && Model.ListPrices.Any()) 112 { 113 <p class="e-product-price mb-0 mt-0"> 114 115 @if (SiteContext.ShowPrices()) 116 { 117 <span class="d-block font-weight-bold"> 118 @Translate("Product Netto Price - Text", "Nettopris") 119 <span class="js-e-product-price"> 120 @Model.Price.Formatted 121 </span> 122 </span> 123 } 124 125 126 <span class="d-block text-muted id-product-details-list-price"> 127 @Translate("Product List Price - Text", "Listepris") 128 <span class="js-e-product-listprice"> 129 @PriceService.Instance.GetPrice(new PriceSettings() 130 { 131 Value = Model.ListPrices.FirstOrDefault()?.Amount 132 }) 133 </span> 134 </span> 135 </p> 136 } 137 @if (shopContext == ShopType.B2C || shopContext == ShopType.CustomerShop) 138 { 139 <p class="e-product-price mb-1 mt-0 @(SiteContext.ShowPrices() == false ? "hidden-price" : string.Empty)"> 140 <span class="e-productlist-item-price"> 141 <a href="@Model.Link"> 142 @Model.Price.Formatted 143 </a> 144 </span> 145 <small>(@(Model.PriceWithoutVat.Value > 0 && Model.PriceWithoutVat.Value.Equals(Model.Price.Value) == false ? Model.PriceWithoutVat.Formatted : string.Empty) @Translate("Ecom - Price without VAT - text", "ekskl. moms") )</small> 146 </p> 147 } 148 149 </div> 150 @if ( Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) { 151 152 int variantCount = Model.VariantPrimaryImages.Count; 153 154 if ( Model.VariantPrimaryImages.Count > 1 ) { 155 <div class="d-block d-md-none"> 156 <p class="p-0 m-0 font-weight-semibold"><small>+ @variantCount @Translate("Product List Colors - Text", "farver")</small></p> 157 </div> 158 } 159 } 160 </div> 161 @if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 162 { 163 <form class="d-flex justify-content-end"> 164 <a class="btn btn-primary text-white mt-0 position-relative js-identity-productlist-get-variant-matrix-modal identity-productlist-get-variant-matrix-modal-btn"> 165 <span class="identity-productlist-get-variant-matrix-modal-text"> 166 @ImageService.Instance.GetSvgMarkup("/Files/Images/icons/outline/41-shopping/shopping-cart-add-2.svg") 167 </span> 168 </a> 169 </form> 170 171 <div class="e-loading-overlay e-productlist-loading-overlay js-e-matrix-loading-overlay"> 172 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" ) 173 </div> 174 } 175 </div> 176 <code class="js-identity-product-data" hidden> 177 @{ 178 dynamic productImperssionClick = new 179 { 180 item_name = Model.Name, 181 item_id = Model.Id, 182 price = Model.Price.Value.ToJavaScript(), 183 item_brand = Model.BrandName, 184 item_category = Model.Category, 185 item_variant = Model.ColorVariantText 186 }; 187 @JsonService.Instance.ToJson(productImperssionClick) 188 } 189 </code> 190 </div> 191
Error executing template "Designs/identity_v2/ecom/productlist/partials/item.cshtml" System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 54) 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 Co3.ID.Dw.Services.ProductService.GetVariantImages(IdentityProduct product, KeyValuePair`2 variantGroup) at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.GetVariantCombinationsPrimaryImages() at CompiledRazorTemplates.Dynamic.RazorEngine_4b0a30cc38c445d98a0c785231158b0d.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Application\Files\Templates\Designs\identity_v2\ecom\productlist\partials\item.cshtml:line 71 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:86f92dd9-28e8-456b-8074-8ee587269a31 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.Elements 5 @using Co3.Espresso.Website.Models.FrontEnd.Handlebars 6 @using Co3.Espresso.Website.Models.FrontEnd.Settings 7 @using Co3.Espresso.Website.Services 8 @using Co3.ID.Dw.Helpers 9 @using Co3.ID.Dw.Models.Frontend.Ecommerce 10 @using Co3.ID.Dw.Models.Frontend.Users 11 @using Dynamicweb.Rendering 12 @using Co3.ID.Dw.Services 13 @using Dynamicweb.Frontend 14 @using Dynamicweb.Security.UserManagement 15 @using RenderingService = Co3.Espresso.Website.Services.RenderingService 16 17 @{ 18 string productName = Model.Name; 19 string productNumber = Model.Number; 20 21 User currentUser = PageView.Current().User; 22 ShopType shopContext = SiteContext.CurrentSiteContext(); 23 bool isCustomerShop = (PageView.Current().Area.Item["IsCustomerShop"] != null && (bool)PageView.Current().Area.Item["IsCustomerShop"] == true); 24 string discountGroup = currentUser != null ? currentUser.GetCustomFieldValue< string >( "DiscountGroup" ) : string.Empty; 25 bool showPrices = !isCustomerShop || UserContext.Current.CustomerShop != null && UserContext.Current.CustomerShop.Settings.ShowPrices == true; 26 27 string hoverImage = string.Empty; 28 29 if (!isCustomerShop && Model.ListItemHoverImage != null) 30 { 31 hoverImage = Model.ListItemHoverImage.Medium; 32 } 33 } 34 35 <div class="e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item- p-1" data-product-id="@Model.Id" data-variant-id="@Model.VariantId" data-brand-code="@Model.BrandCode"> 36 37 <div class="productlist-brand-wrapper"> 38 @if ( Model.BrandCode == "SS" ) 39 { 40 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/SevenSeasByID.svg" ) 41 } 42 43 @if ( Model.BrandCode == "GEYSER" ) 44 { 45 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/GEYSER.svg" ) 46 } 47 48 @if ( Model.BrandCode == "PRO WEAR" ) 49 { 50 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/ProWearByID.svg" ) 51 } 52 </div> 53 54 <div class="productlist-label-container"> 55 @if ( Model.ProductLabels != null ) 56 { 57 foreach ( IdentityProductLabel label in Model.ProductLabels ) 58 { 59 <span class="productlist-label label-@label.ClassName ">@label.Text</span> 60 } 61 } 62 63 </div> 64 65 <div class="e-productlist-item-container"> 66 <div class="e-productlist-item-image-container"> 67 <a class="e-productlist-item-image-wrapper" href="@Model.Link"> 68 <img alt="@Model.Name" class="e-productlist-item-image js-e-productlist-item-image" src="@Model.ImagePrimary.Medium" data-base-image="@Model.ImagePrimary.Medium" data-hover-image="@hoverImage"> 69 </a> 70 71 @if (Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) 72 { 73 <div class="identity-variant-listitem-select-option-container d-none d-md-block"> 74 <div class="d-flex identity-variant-listitem-select-option-wrapper"> 75 76 @{ 77 int variantCount = Model.VariantPrimaryImages.Count; 78 int variantCountTake = variantCount <= 5 ? 5 : 4; 79 } 80 @foreach ( IdentityProductVariants variantImage in Model.VariantPrimaryImages.Take( variantCountTake ) ) 81 { 82 if (!string.IsNullOrEmpty(variantImage.Link) && variantImage.Image != null) 83 { 84 <span class="select-option-color-wrapper js-select-option-color-wrapper"> 85 <a href="@variantImage.Link"><span class="identity-variant-listitem-select-option-color js-identity-variant-listitem-select-option-color" style="background-image: url(@variantImage.Image.Small);" data-hover-image="@variantImage.Image.Medium"></span></a> 86 </span> 87 } 88 89 } 90 @if ( Model.VariantPrimaryImages.Count > 5 ) 91 { 92 string moreVariantText = string.Format( "+{0}", Model.VariantPrimaryImages.Count - 4 ); 93 <span class="select-option-color-wrapper bg-light variant-option-extra-count"> 94 <span class="identity-variant-listitem-select-option-color">@moreVariantText</span> 95 </span> 96 } 97 </div> 98 </div> 99 100 } 101 102 </div> 103 <div class="e-productlist-item-text-container small"> @* CSS ADD text-truncate *@ 104 <p class="e-productlist-item-name mb-0"> 105 <a href="@Model.Link" class="text-ellipsis"> 106 @Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number 107 @productName 108 </a> 109 </p> 110 <div class="e-productlist-item-text mb-0"> 111 @if (shopContext == ShopType.B2B && string.IsNullOrEmpty(discountGroup) == false && Model.ListPrices != null && Model.ListPrices.Any()) 112 { 113 <p class="e-product-price mb-0 mt-0"> 114 115 @if (SiteContext.ShowPrices()) 116 { 117 <span class="d-block font-weight-bold"> 118 @Translate("Product Netto Price - Text", "Nettopris") 119 <span class="js-e-product-price"> 120 @Model.Price.Formatted 121 </span> 122 </span> 123 } 124 125 126 <span class="d-block text-muted id-product-details-list-price"> 127 @Translate("Product List Price - Text", "Listepris") 128 <span class="js-e-product-listprice"> 129 @PriceService.Instance.GetPrice(new PriceSettings() 130 { 131 Value = Model.ListPrices.FirstOrDefault()?.Amount 132 }) 133 </span> 134 </span> 135 </p> 136 } 137 @if (shopContext == ShopType.B2C || shopContext == ShopType.CustomerShop) 138 { 139 <p class="e-product-price mb-1 mt-0 @(SiteContext.ShowPrices() == false ? "hidden-price" : string.Empty)"> 140 <span class="e-productlist-item-price"> 141 <a href="@Model.Link"> 142 @Model.Price.Formatted 143 </a> 144 </span> 145 <small>(@(Model.PriceWithoutVat.Value > 0 && Model.PriceWithoutVat.Value.Equals(Model.Price.Value) == false ? Model.PriceWithoutVat.Formatted : string.Empty) @Translate("Ecom - Price without VAT - text", "ekskl. moms") )</small> 146 </p> 147 } 148 149 </div> 150 @if ( Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) { 151 152 int variantCount = Model.VariantPrimaryImages.Count; 153 154 if ( Model.VariantPrimaryImages.Count > 1 ) { 155 <div class="d-block d-md-none"> 156 <p class="p-0 m-0 font-weight-semibold"><small>+ @variantCount @Translate("Product List Colors - Text", "farver")</small></p> 157 </div> 158 } 159 } 160 </div> 161 @if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 162 { 163 <form class="d-flex justify-content-end"> 164 <a class="btn btn-primary text-white mt-0 position-relative js-identity-productlist-get-variant-matrix-modal identity-productlist-get-variant-matrix-modal-btn"> 165 <span class="identity-productlist-get-variant-matrix-modal-text"> 166 @ImageService.Instance.GetSvgMarkup("/Files/Images/icons/outline/41-shopping/shopping-cart-add-2.svg") 167 </span> 168 </a> 169 </form> 170 171 <div class="e-loading-overlay e-productlist-loading-overlay js-e-matrix-loading-overlay"> 172 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" ) 173 </div> 174 } 175 </div> 176 <code class="js-identity-product-data" hidden> 177 @{ 178 dynamic productImperssionClick = new 179 { 180 item_name = Model.Name, 181 item_id = Model.Id, 182 price = Model.Price.Value.ToJavaScript(), 183 item_brand = Model.BrandName, 184 item_category = Model.Category, 185 item_variant = Model.ColorVariantText 186 }; 187 @JsonService.Instance.ToJson(productImperssionClick) 188 } 189 </code> 190 </div> 191
Redegørelse for samfundsansvar, jf. årsregnskabslovens § 99 a". ID® Ansvarlighedsrapport 2022/2023. Se her