Error executing template "Designs/exhibition_site/ecom/product/partials/exhibitor-details/MCH365-topsection.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.MCH.Website.Frontend.Repositories.BaseRepository.GetAssetIds(Profile profile, String type, String cacheKey, MCH365ViewType viewType) in C:\Data\Development\git\mch365mb-dev\Co3.MCH.Website.Frontend\Repositories\BaseRepository.cs:line 58 at Co3.MCH.Website.Frontend.Repositories.CaseRepository.GetCases(Profile profile, MCH365ViewType viewType) in C:\Data\Development\git\mch365mb-dev\Co3.MCH.Website.Frontend\Repositories\CaseRepository.cs:line 95 at Co3.MCH.Website.Frontend.Services.MCH365.CaseService.GetCases(Profile profile, MCH365ViewType viewType) in C:\Data\Development\git\mch365mb-dev\Co3.MCH.Website.Frontend\Services\MCH365\CaseService.cs:line 164 at Co3.MCH.Website.Frontend.Services.MCH365.CaseService.GetCaseProducts(Profile profile, MCH365ViewType viewType) in C:\Data\Development\git\mch365mb-dev\Co3.MCH.Website.Frontend\Services\MCH365\CaseService.cs:line 178 at Co3.MCH.Website.Frontend.Models.Frontend.Ecommerce.ProfileProduct.get_Cases() in C:\Data\Development\git\mch365mb-dev\Co3.MCH.Website.Frontend\Models\Frontend\Ecommerce\ProfileProduct.cs:line 64 at CompiledRazorTemplates.Dynamic.RazorEngine_804d74f0ade549f59879fc3260dbd924.Execute() in E:\Websites\mch365.espresso5.dk\Files\Templates\Designs\exhibition_site\ecom\product\partials\exhibitor-details\MCH365-topsection.cshtml:line 82 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.Espresso.Website.Models.FrontEnd.Ecommerce.EspressoProduct > 2 @using System.Text.RegularExpressions 3 @using Dynamicweb.Rendering 4 @using Co3.Espresso.Website.Services 5 @using Co3.MCH.Data.Apps 6 @using Co3.MCH.Data.Models.MCH365 7 @using Co3.MCH.Website.Frontend.Helpers 8 @using Co3.MCH.Website.Frontend.Models.Frontend 9 @using Co3.MCH.Website.Frontend.Models.Frontend.Ecommerce 10 @using Dynamicweb.Content 11 @using Dynamicweb.Core 12 @using Dynamicweb.Deployment.DataItemProviders.Forms 13 @using Dynamicweb.Frontend 14 @using Page = System.Web.UI.Page 15 @using PageService = Dynamicweb.Content.PageService 16 @using ParagraphService = Co3.Espresso.Website.Services.ParagraphService 17 18 @{ 19 ProfileProduct profileProduct = ( ProfileProduct ) Model; 20 bool hasPresentation = profileProduct.HasPresentation; 21 string companyBannerImage = profileProduct.Company.BannerImage; 22 bool companyBookMeeting = profileProduct.Contact.BookMeeting; 23 bool companyDirectContact = profileProduct.Contact.DirectContact; 24 string companyEmail = profileProduct.Company.Email; 25 string companyName = profileProduct.Company.Name.Replace("\"", "'"); 26 IEnumerable<BoothInfo> booths = profileProduct.Booths; 27 28 string companyColor = ""; 29 30 if (profileProduct.Company.BrandColor.IsNullOrEmpty()) 31 { 32 companyColor = MCH365Context.Current.TradeShowDetails.PrimaryColor; 33 } 34 else 35 { 36 companyColor = profileProduct.Company.BrandColor; 37 } 38 39 // CUSTOM COMPANY COLOR SCHEME 40 Regex hexcodeRegex = new Regex(@"^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"); 41 companyColor = hexcodeRegex.IsMatch( companyColor ) ? companyColor : "#000000"; 42 ColorHelper.HSL brandExhibitor = ColorHelper.Instance.HexToHsl(companyColor); 43 44 string textColor = brandExhibitor.L < 60 ? "e-text-light" : ""; 45 46 47 } 48 49 <section class="p mb-0 p-banner-gradient-disabled pt-auto pb-auto p-banner e-section js-e-section align-items-stretch mch365-custom-product-details-banner" id="14098"> 50 <div class="p-img-container bg-center-middle" style="background-image: url('@companyBannerImage'); background-color: var(--exhibition-profile-exhibitor-brand-color);" title=""></div> 51 @if ( !string.IsNullOrEmpty( companyBannerImage ) ) 52 { 53 <div class="mch365-custom-product-details-banner-top-shadow"></div> 54 <div class="mch365-custom-product-details-banner-bottom-shadow"></div> 55 } 56 57 <div class="container-fluid align-self-end m-0 p-0 mch365-custom-product-top-content-wrapper @textColor"> 58 <div class="container-fluid"> 59 <div class="row"> 60 <div class="d-none d-md-flex col-12 col-md-4 col-lg-3"> 61 62 </div> 63 <div class="col-12 col-md-8 col-lg-9 d-flex justify-content-center justify-content-md-between my-2"> 64 <nav class="e-nav-product-details-local d-none d-md-flex"> 65 <ul class="nav"> 66 <li class="nav-item"> 67 <a href="@( PageView.Current().SearchFriendlyUrl )#presentation" class="nav-link"> 68 <span class="e-nav-pagename">@Translate( "MCH365 - Exhibitor details topSectionLinkBarPresentation - Text", "Præsentation" )</span> 69 </a> 70 @if ( profileProduct.Products.Products.Any() ) 71 { 72 <a href="@( PageView.Current().SearchFriendlyUrl )#products" class="nav-link"> 73 <span class="e-nav-pagename">@Translate( "MCH365 - Exhibitor details topSectionLinkBarProducts - Text", "Produkter" )</span> 74 </a> 75 } 76 @if ( profileProduct.Articles.Products.Any() ) 77 { 78 <a href="@( PageView.Current().SearchFriendlyUrl )#articles" class="nav-link"> 79 <span class="e-nav-pagename">@Translate( "MCH365 - Exhibitor details topSectionLinkBarArticles - Text", "Artikler" )</span> 80 </a> 81 } 82 @if ( profileProduct.Cases.Products.Any() ) 83 { 84 <a href="@( PageView.Current().SearchFriendlyUrl )#cases" class="nav-link"> 85 <span class="e-nav-pagename">@Translate( "MCH365 - Exhibitor details topSectionLinkBarCases - Text", "Cases" )</span> 86 </a> 87 } 88 @if ( profileProduct.Events.Products.Any() ) 89 { 90 <a href="@( PageView.Current().SearchFriendlyUrl )#events" class="nav-link"> 91 <span class="e-nav-pagename">@Translate( "MCH365 - Exhibitor details topSectionLinkBarEvents - Text", "Events" )</span> 92 </a> 93 } 94 </li> 95 </ul> 96 </nav> 97 98 @if ( !string.IsNullOrEmpty( companyEmail ) ) 99 { 100 <nav class="e-nav-product-details-local justify-content-end"> 101 <ul class="nav d-flex justify-content-center"> 102 @if ( companyDirectContact ) 103 { 104 <li class="nav-item"> 105 <a class="nav-link" href="javascript:void(0);" data-toggle="modal" data-target="#mch365-modal-mail-form" data-heading="@Translate( "MCH365 - Exhibitor details topSectionContactModalPromptDirectContact - Text", "Tag direkte kontakt" )" data-type="@Constants.DW_FORMS_DIRECTCONTACT_FORMTYPE" data-asset-id="@Model.Id"> 106 <span class="e-nav-pagename d-flex align-items-center"> 107 <span class="mch-365-custom-inline-icon e-nav-product-details-local-icon"> 108 @ImageService.Instance.GetSvgMarkup( "/Files/Templates/Designs/exhibition_site/_assets/img/custom-icons/custom-icon-email-action-edit.svg" ) 109 </span> 110 <span class="e-nav-pagename-name">@Translate( "MCH365 - Exhibitor details topSectionContactModalPromptDirectContact - Text", "Tag direkte kontakt" )</span> 111 </span> 112 </a> 113 </li> 114 } 115116 @if ( companyBookMeeting ) 117 { 118 <li class="nav-item"> 119 <a class="nav-link" href="javascript:void(0);" data-toggle="modal" data-target="#mch365-modal-mail-form" data-heading="@Translate( "MCH365 - Exhibitor details topSectionContactModalPromptBookMeeting - Text", "Book et møde" )" data-type="@Constants.DW_FORMS_BOOKMEETING_FORMTYPE" data-asset-id="@Model.Id"> 120 <span class="e-nav-pagename d-flex align-items-center"> 121 <span class="mch-365-custom-inline-icon e-nav-product-details-local-icon"> 122 @ImageService.Instance.GetSvgMarkup( "/Files/Templates/Designs/exhibition_site/_assets/img/custom-icons/custom-icon-calendar-edit.svg" ) 123 </span> 124 <span class="e-nav-pagename-name">@Translate( "MCH365 - Exhibitor details topSectionContactModalPromptBookMeeting - Text", "Book et møde" )</span> 125 </span> 126 </a> 127 </li> 128 } 129 </ul> 130 </nav> 131 } 132 </div> 133 </div> 134 </div> 135 </div> 136137138 </section> 139140 @{ 141 int currentPageId = PageView.Current().Page.ID; 142 Paragraph currentParagraph = PageView.Current().CurrentParagraph; 143 int currentParagraphId = currentParagraph.GlobalRecordParagraphID; 144 Dynamicweb.Content.Page modalFormPage = new PageService().GetPagesByParentID( currentPageId ).FirstOrDefault(); 145 IEnumerable< Paragraph > paragraphs = ParagraphService.Instance.GetParagraphsByPageId( modalFormPage.ID ); 146147 foreach ( Paragraph paragraph in paragraphs.Where( p => p.ModuleSystemName == "BasicForms" ) ) 148 { 149 int paragraphPageID = paragraph.PageID; 150 PageView pageView = PageView.GetPageviewByPageID( paragraphPageID ); 151 string formMarkup = Content.GetModuleOutput( paragraph, pageView ); 152 int.TryParse( paragraph.ModuleProperties[ "formSubmitPageAfterSave" ].ToLower().Split( new[] {"?id="}, StringSplitOptions.None ).Last(), out int afterSavePageID ); 153154 if ( afterSavePageID > 0 ) 155 { 156 <!-- Modal confirm --> 157 <div class="modal fade js-mch365-modal-form" id="@paragraph.Item[ "CustomClasses" ]" data-post-url="/@pageView.Page.GetPageHrefValue()" data-asset-id="@Model.Id" tabindex="-1" role="dialog" aria-labelledby="" aria-hidden="true"> 158 <div class="modal-dialog" role="document"> 159 <div class="modal-content border-radius border-0 custom-section-dropshadow background-blur"> 160 <div class="modal-header border-bottom-0 justify-content-end"> 161 <a class="custom-section-closebutton" data-dismiss="modal" aria-label="Close" href="#"> 162 @ImageService.Instance.GetSvgMarkup( "/Files/Templates/Designs/mch365_admin/_assets/img/streamline/close_black_24dp.svg" ) 163 </a> 164 </div> 165 <div class="modal-body"> 166 <div class="row px-lg-3"> 167 <div class="col-12 col-xl-6 pr-lg-3"> 168 <div data-content-type="contactPersonImage" class="js-mch365-contactperson-image" style="display: none;"> 169 <img src="/admin/public/getimage.ashx?Image={{contactPersonImage}}&Width=80&Height=80&Format=webp&Quality=0&Crop=0" class="border-radius-sm js-temp-element mb-1 p-img" itemprop="image" alt=""> 170 </div> 171172 <p class="mt-2">@Translate("MCH365 - Exhibitor details form intro - Text", "Du skriver direkte til leverandøren.")</p> 173 <p>Vi glæder os til at høre fra dig!<br/><strong>@Model.Name</strong></p> 174 </div> 175 <div class="col-12 col-xl-6"> 176 @formMarkup.Replace( "/Default.aspx?ID=" + currentPageId + "&PID=" + currentParagraphId, "/Default.aspx?ID=" + paragraphPageID + "&PID=" + paragraph.ID ).Replace( "js-e-form-dw", string.Empty ) 177 </div> 178 </div> 179180 <div class="js-mch365-respons-content" style="display: none;"> 181 @RenderPageContent( afterSavePageID ) 182 </div> 183184 </div> 185 </div> 186 </div> 187 </div> 188 } 189 } 190 } 191192 @SnippetStart("profileProductCompanyName")@companyName@SnippetEnd("profileProductCompanyName") @* Avoid using linebreaks in this snippet, as it will also add linebreaks to the content *@
Sjælsø Living
Velkommen til Sjælsø Living – hvor gamle ting får nyt liv
Hos Sjælsø Living brænder vi for at skabe noget smukt og meningsfuldt ud af det, andre har kasseret. Vi elsker at give gamle materialer nyt liv og finde autentiske originaler med sjæl og historie – det er dér, magien opstår.
I år har vi fundet en række unikke skatte til dig: gamle skabe, kasser, bakker og meget mere. Samtidig har vi designet nye møbler – borde, vægreoler, bænke – alt sammen lavet af genanvendt træ, som bærer tidens spor og tilfører en helt særlig varme og karakter.
Om os
Sjælsø Living tilbyder et nøje udvalgt sortiment inden for tre hovedkategorier: UPCYCLING, RECYCLING og ORIGINALER – alle i en nordisk stil med respekt for materialets oprindelse. Vi forvandler gamle skatte til nye favoritter og skaber interiør med ægte historie.
Mange af vores produkter er fremstillet af gammelt træ med naturlig patina – træ, der tidligere har været en del af skibe, stilladser eller forladte bygninger. I samarbejde med dygtige, lokale håndværkere skaber vi noget helt særligt, hvor hvert møbel har sin egen unikke fortælling.
Vi glæder os til at vise dig vores nyheder.
Kig forbi os i Hal J2, stand 7248.
Vil du være med på vores rejse?
Vi har forhandlere i flere lande, men vi søger altid flere, der deler vores passion for ægte håndværk og produkter med en historie. Tag en uforpligtende snak med Mette på Formland – eller skriv til hende på mette@sjaelsoenordic.com.
Læs mere på www.sjaelsoeliving.com
Virksomhedsprofiler samt speciale- og interesseområder er udfyldt og tilføjet af leverandørerne og er ikke baseret på viden eller vurdering fra Formland.















