Error executing template "Designs/exhibition_site/ecom/product/partials/profile-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:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Repositories\BaseRepository.cs:line 58 at Co3.MCH.Website.Frontend.Repositories.ProductRepository.GetProducts(Profile profile, MCH365ViewType viewType) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Repositories\ProductRepository.cs:line 326 at Co3.MCH.Website.Frontend.Services.MCH365.ProductService.GetProducts(Profile profile, MCH365ViewType viewType) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Services\MCH365\ProductService.cs:line 244 at Co3.MCH.Website.Frontend.Services.MCH365.ProductService.GetProductProducts(Profile profile, MCH365ViewType viewType) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Services\MCH365\ProductService.cs:line 191 at Co3.MCH.Website.Frontend.Models.Frontend.Ecommerce.ProfileProduct.get_Products() in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Models\Frontend\Ecommerce\ProfileProduct.cs:line 60 at CompiledRazorTemplates.Dynamic.RazorEngine_8fee29071f094933b37688c8001a01af.Execute() in E:\Websites\mch365.espresso5.dk\Files\Templates\Designs\exhibition_site\ecom\product\partials\profile-details\MCH365-topsection.cshtml:line 69 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 <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"> 49 <div class="p-img-container bg-center-middle" style="background-image: url('@companyBannerImage'); background-color: var(--exhibition-profile-exhibitor-brand-color);" title=""></div> 50 @if (!string.IsNullOrEmpty(companyBannerImage)) 51 { 52 <div class="mch365-custom-product-details-banner-top-shadow"></div> 53 <div class="mch365-custom-product-details-banner-bottom-shadow"></div> 54 } 55 56 <div class="container-fluid align-self-end m-0 p-0 mch365-custom-product-top-content-wrapper @textColor"> 57 <div class="container-fluid"> 58 <div class="row"> 59 <div class="d-none d-md-flex col-12 col-md-4 col-lg-3"> 60 61 </div> 62 <div class="col-12 col-md-8 col-lg-9 d-flex justify-content-center justify-content-md-between my-2"> 63 <nav class="e-nav-product-details-local d-none d-md-flex"> 64 <ul class="nav"> 65 <li class="nav-item"> 66 <a href="@(PageView.Current().SearchFriendlyUrl)#presentation" class="nav-link"> 67 <span class="e-nav-pagename">@Translate("MCH365 - Exhibitor details topSectionLinkBarPresentation - Text", "Præsentation")</span> 68 </a> 69 @if (profileProduct.Products.Products.Any()) { 70 <a href="@(PageView.Current().SearchFriendlyUrl)#products" class="nav-link"> 71 <span class="e-nav-pagename">@Translate("MCH365 - Exhibitor details topSectionLinkBarProducts - Text", "Produkter")</span> 72 </a> 73 } 74 @if (profileProduct.Articles.Products.Any()) 75 { 76 <a href="@(PageView.Current().SearchFriendlyUrl)#articles" class="nav-link"> 77 <span class="e-nav-pagename">@Translate("MCH365 - Exhibitor details topSectionLinkBarArticles - Text", "Artikler")</span> 78 </a> 79 } 80 @if (profileProduct.Cases.Products.Any()) 81 { 82 <a href="@(PageView.Current().SearchFriendlyUrl)#cases" class="nav-link"> 83 <span class="e-nav-pagename">@Translate("MCH365 - Exhibitor details topSectionLinkBarCases - Text", "Cases")</span> 84 </a> 85 } 86 @if (profileProduct.Events.Products.Any()) 87 { 88 <a href="@(PageView.Current().SearchFriendlyUrl)#events" class="nav-link"> 89 <span class="e-nav-pagename">@Translate("MCH365 - Exhibitor details topSectionLinkBarEvents - Text", "Events")</span> 90 </a> 91 } 92 </li> 93 </ul> 94 </nav> 95 96 @if (!string.IsNullOrEmpty(companyEmail)) 97 { 98 <nav class="e-nav-product-details-local justify-content-end"> 99 <ul class="nav d-flex justify-content-center"> 100 @if (companyDirectContact) 101 { 102 <li class="nav-item"> 103 <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"> 104 <span class="e-nav-pagename d-flex align-items-center"> 105 <span class="mch-365-custom-inline-icon e-nav-product-details-local-icon"> 106 @ImageService.Instance.GetSvgMarkup( "/Files/Templates/Designs/exhibition_site/_assets/img/custom-icons/custom-icon-email-action-edit.svg" ) 107 </span> 108 <span class="e-nav-pagename-name">@Translate( "MCH365 - Exhibitor details topSectionContactModalPromptDirectContact - Text", "Tag direkte kontakt" )</span> 109 </span> 110 </a> 111 </li> 112 } 113114 @if (companyBookMeeting) 115 { 116 <li class="nav-item"> 117 <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"> 118 <span class="e-nav-pagename d-flex align-items-center"> 119 <span class="mch-365-custom-inline-icon e-nav-product-details-local-icon"> 120 @ImageService.Instance.GetSvgMarkup("/Files/Templates/Designs/exhibition_site/_assets/img/custom-icons/custom-icon-calendar-edit.svg") 121 </span> 122 <span class="e-nav-pagename-name">@Translate("MCH365 - Exhibitor details topSectionContactModalPromptBookMeeting - Text", "Book et møde")</span> 123 </span> 124 </a> 125 </li> 126 } 127 </ul> 128 </nav> 129 } 130 </div> 131 </div> 132 </div> 133 </div> 134135136 </section> 137138139 @{ 140 int currentPageId = PageView.Current().Page.ID; 141 Paragraph currentParagraph = PageView.Current().CurrentParagraph; 142 int currentParagraphId = currentParagraph.GlobalRecordParagraphID; 143 Dynamicweb.Content.Page modalFormPage = new PageService().GetPagesByParentID( currentPageId ).FirstOrDefault(); 144 IEnumerable<Paragraph> paragraphs = ParagraphService.Instance.GetParagraphsByPageId( modalFormPage.ID ); 145146 foreach (Paragraph paragraph in paragraphs.Where(p => p.ModuleSystemName == "BasicForms") ) 147 { 148 int paragraphPageID = paragraph.PageID; 149 PageView pageView = PageView.GetPageviewByPageID(paragraphPageID); 150 string formMarkup = Content.GetModuleOutput(paragraph,pageView); 151 int.TryParse( paragraph.ModuleProperties[ "formSubmitPageAfterSave" ].ToLower().Split( new[] {"?id="}, StringSplitOptions.None ).Last(), out int afterSavePageID ); 152153 <!-- Modal confirm --> 154 <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"> 155 <div class="modal-dialog" role="document"> 156 <div class="modal-content border-radius border-0 custom-section-dropshadow background-blur"> 157 <div class="modal-header border-bottom-0 justify-content-end"> 158 <a class="custom-section-closebutton" data-dismiss="modal" aria-label="Close" href="#"> 159 @ImageService.Instance.GetSvgMarkup("/Files/Templates/Designs/mch365_admin/_assets/img/streamline/close_black_24dp.svg") 160 </a> 161 </div> 162 <div class="modal-body"> 163 <div class="row px-lg-3"> 164 <div class="col-12 col-xl-6 pr-lg-3"> 165 <div data-content-type="contactPersonImage" class="js-mch365-contactperson-image" style="display: none;"> 166 <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=""> 167 </div> 168169 <p class="mt-2">@Translate("MCH365 - Exhibitor details form intro - Text", "Du skriver direkte til leverandøren.")</p> 170 <p>@Translate("Vi glæder os til at høre fra dig!")<br/><strong>@Model.Name</strong></p> 171 </div> 172 <div class="col-12 col-xl-6"> 173 @formMarkup.Replace( "/Default.aspx?ID=" + currentPageId + "&PID=" + currentParagraphId, "/Default.aspx?ID=" + paragraphPageID + "&PID=" + paragraph.ID ).Replace( "js-e-form-dw", string.Empty ) 174 </div> 175 </div> 176177 <div class="js-mch365-respons-content" style="display: none;"> 178 @RenderPageContent(afterSavePageID) 179 </div> 180181 </div> 182 </div> 183 </div> 184 </div> 185 } 186 } 187188 @SnippetStart("profileProductCompanyName")@companyName@SnippetEnd("profileProductCompanyName") @* Avoid using linebreaks in this snippet, as it will also add linebreaks to the content *@
Fjord Line Danmark A/S
Fjord Line er meget mere end bare et færgeselskab. Vi har fragtet glade danskere til Norge i mere end 30 år, og vores passion er at give vores gæster gode oplevelser – fra det øjeblik, de kører om bord på vores færger på vej på et fantastisk Norgeseventyr, og til det øjeblik, de igen kører fra land i Danmark efter en veloverstået ferie.
Derfor tilbyder vi en bred vifte af rejsemuligheder – fra enkelte overfarter til Kristiansand, Stavanger og Bergen med eller uden bil, campingvogn, autocamper eller motorcykel over pakkerejser til skiferie og helårsferie og til minicruises på 9,5 eller 36 timer.
Vi sejler hele året med vores store cruisefærger, der har et stort udvalg af mad og drikke, underholdning og tax-free shopping om bord, og i sommerhalvåret sætter vi ekstra fart på turen til Norge med vores lynhurtige katamaranfærge, Fjord FSTR, der klarer overfarten på blot 2 timer og 25 minutter.
Mere end noget andet brænder for at vise danskerne, hvilke fantastiske oplevelser der venter i vores naboland mod nord – fra de spektakulære naturoplevelser, der tager pusten fra enhver (uanset om de opleves til fods, på cykel eller i bil/autocamper på et roadtrip) over kunst- og kulturoplevelser i verdensklasse i de norske storbyer og til de nære og hyggelige familieoplevelser i en bjælkehytte på fjeldet.
For vi véd, at det er i Norge, din næste drømmerejse venter.
Mød os på stand M9664
Virksomhedsprofiler samt speciale- og interesseområder er udfyldt og tilføjet af leverandørerne og er ikke baseret på viden eller vurdering fra Ferie for Alle.











