MATHIAS
23 år, skogshuggare
Titta på videon och hör mer om Mathias passion för naturen och hans yrke som skogshuggare. Mathias visste redan från tidig ålder att han älskade att vara utomhus och att han ville göra skillnad för naturen.
FOKUS PÅ NATUREN
Mathias älskar att vara ute i alla väder – även en kall vinterdag.
Mathias favoritstilar
{"item_name":"Halsvärmare | stretch","item_id":"PROD794","price":"87.50","item_brand":"ID","item_category":"Accessoarer","item_variant":"Svart"}
{"item_name":"T-TIME® T-shirt ","item_id":"PROD860","price":"121.00","item_brand":"ID","item_category":"T-shirts","item_variant":"Vit"}
No. G21006 GEYSER polo shirt | functional
No. G21006 GEYSER polo shirt | functional
kr 391,00 ( exkl. moms )
+ 6 färger
{"item_name":"GEYSER polo shirt | functional","item_id":"PROD1564","price":"391.00","item_brand":"ID","item_category":"Pikétröjor","item_variant":"Röd"}
{"item_name":"Pilefleece-jacka","item_id":"PROD2518","price":"906.00","item_brand":"ID","item_category":"Fleece","item_variant":"Off-white"}
Error executing template "Designs/identity_v2/ecom/productlist/partials/item.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.GetVariantCombinationsPrimaryImages(Boolean includeProduct) at CompiledRazorTemplates.Dynamic.RazorEngine_2637dc9064c34085b5c0d217e0203664.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Files\Templates\Designs\identity_v2\ecom\productlist\partials\item.cshtml:line 91 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.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 bool showBrands = Model.BrandCode == "SS" || Model.BrandCode == "GEYSER" || Model.BrandCode == "PRO WEAR"; 35 } 36 37 <div class="e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item- p-1 @(Model.IsAlternativeProduct ? "ml-4" : string.Empty)" data-product-id="@Model.Id" data-variant-id="@Model.VariantId" data-brand-code="@Model.BrandCode"> 38 39 @if (Model.IsAlternativeProduct) 40 { 41 <h4 class="is-alternative-product-header"> 42 @Translate("eCom Product - AlternativeProduct - Header", "Se også denne") 43 </h4> 44 } 45 @if (Model.IsDiscontinuedProduct) 46 { 47 <div class="discontinued-overlay"> 48 <h4 class="m-0"> 49 @Translate("eCom Product - Discontinued - Overlay - Text", "Produktet er udgået") 50 51 </h4> 52 </div> 53 } 54 55 @if (showBrands) 56 { 57 <div class="productlist-brand-wrapper"> 58 @if ( Model.BrandCode == "SS" ) 59 { 60 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/SevenSeasByID.svg" ) 61 } 62 @if ( Model.BrandCode == "GEYSER" ) 63 { 64 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/GEYSER.svg" ) 65 } 66 @if ( Model.BrandCode == "PRO WEAR" ) 67 { 68 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/ProWearByID.svg" ) 69 } 70 </div> 71 } 72 73 74 <div class="productlist-label-container"> 75 @if ( Model.ProductLabels != null ) 76 { 77 foreach ( IdentityProductLabel label in Model.ProductLabels ) 78 { 79 <span class="productlist-label label-@label.ClassName ">@label.Text</span> 80 } 81 } 82 83 </div> 84 85 <div class="e-productlist-item-container"> 86 <div class="e-productlist-item-image-container"> 87 <a class="e-productlist-item-image-wrapper" href="@Model.Link"> 88 <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"> 89 </a> 90 91 @if (Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) 92 { 93 <div class="identity-variant-listitem-select-option-container d-none d-md-block"> 94 <div class="d-flex identity-variant-listitem-select-option-wrapper"> 95 96 @{ 97 int variantCount = Model.VariantPrimaryImages.Count; 98 int variantCountTake = variantCount <= 5 ? 5 : 4; 99 } 100 @foreach ( IdentityProductVariants variantImage in Model.VariantPrimaryImages.Take( variantCountTake ) ) 101 { 102 if (!string.IsNullOrEmpty(variantImage.Link) && variantImage.Image != null) 103 { 104 <span class="select-option-color-wrapper js-select-option-color-wrapper"> 105 <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> 106 </span> 107 } 108 109 } 110 @if ( Model.VariantPrimaryImages.Count > 5 ) 111 { 112 string moreVariantText = string.Format( "+{0}", Model.VariantPrimaryImages.Count - 4 ); 113 <span class="select-option-color-wrapper bg-light variant-option-extra-count"> 114 <span class="identity-variant-listitem-select-option-color">@moreVariantText</span> 115 </span> 116 } 117 </div> 118 </div> 119 120 } 121 122 </div> 123 <div class="e-productlist-item-text-container small"> @* CSS ADD text-truncate *@ 124 <p class="e-productlist-item-name mb-0 list-style-d-none"> 125 <a href="@Model.Link" class="text-ellipsis"> 126 @Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number 127 @productName 128 </a> 129 </p> 130 <p class="e-productlist-item-name mb-1 grid-style-d-none d-none"> 131 <a href="@Model.Link"> 132 <span class="d-block font-weight-bold">@Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number</span> 133 @productName 134 </a> 135 </p> 136 137 <div class="e-productlist-item-text mb-0"> 138 @RenderingService.Instance.PartialView("/eCom/ProductList/partials/list-price.cshtml", Model) 139 </div> 140 @if ( Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) { 141 142 int variantCount = Model.VariantPrimaryImages.Count; 143 144 if ( Model.VariantPrimaryImages.Count > 1 ) { 145 <div class="d-block d-md-none"> 146 <p class="p-0 m-0 font-weight-semibold"><small>+ @variantCount @Translate("Product List Colors - Text", "farver")</small></p> 147 </div> 148 } 149 } 150 </div> 151 @if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 152 { 153 <form class="e-productlist-item-form-container d-flex justify-content-end"> 154 <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"> 155 <span class="identity-productlist-get-variant-matrix-modal-text"> 156 @ImageService.Instance.GetSvgMarkup("/Files/Images/icons/outline/41-shopping/shopping-cart-add-2.svg") 157 </span> 158 </a> 159 </form> 160 161 <div class="e-loading-overlay e-productlist-loading-overlay js-e-matrix-loading-overlay"> 162 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" ) 163 </div> 164 } 165 </div> 166 <code class="js-identity-product-data" hidden> 167 @{ 168 dynamic productImperssionClick = new 169 { 170 item_name = Model.Name, 171 item_id = Model.Id, 172 price = Model.Price.Value.ToJavaScript(), 173 item_brand = Model.BrandName, 174 item_category = Model.Category, 175 item_variant = Model.ColorVariantText 176 }; 177 @Co3.Espresso.Website.Services.JsonService.Instance.ToJson(productImperssionClick) 178 } 179 </code> 180 </div> 181
Rapport om företagens sociala ansvar, jfr § 99a i den danska bokföringslagen.
ID® ansvarsrapport 2024/2025. Läs här