BEVOLA
We are a global procurement concept with over 6,500 item numbers. Since 1968, we’ve been supplying quality products and equipment to the transport industry with a strong focus on the Nordic market. Our customers benefit from a strong collaboration between our three Nordic departments. We work closely together across national borders to provide the best possible service. Our wide range of high quality goods enables us to deliver solutions of all sizes.A large storage capacity in all three countries means that we can always deliver products quickly. We are a department store for the whole sector, which for our customers means they can get every
1 post
latest from 11. June 2026
BG Service Center A/S
Error executing template "Designs/exhibition_site/QueryPublisher/partials/mch365-exhibitor-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.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 53 at Co3.MCH.Website.Frontend.Repositories.ContactPersonRepository.GetContactPersons(Profile profile, MCH365ViewType viewType) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Repositories\ContactPersonRepository.cs:line 38 at Co3.MCH.Website.Frontend.Services.MCH365.ContactPersonService.GetContactPersons(Profile profile, MCH365ViewType viewType) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Services\MCH365\ContactPersonService.cs:line 148 at Co3.MCH.Website.Frontend.Services.MCH365.ContactPersonService.GetContactPersonProducts(Profile profile, MCH365ViewType viewType) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Services\MCH365\ContactPersonService.cs:line 444 at Co3.MCH.Website.Frontend.Models.Frontend.Ecommerce.ProfileProduct.get_ContactPersons() in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Models\Frontend\Ecommerce\ProfileProduct.cs:line 45 at CompiledRazorTemplates.Dynamic.RazorEngine_d8d3aaaae3f54f9e8093215373eb8fb5.Execute() in E:\Websites\mch365.espresso5.dk\Files\Templates\Designs\exhibition_site\QueryPublisher\partials\mch365-exhibitor-item.cshtml:line 27 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 @using Co3.Espresso.Website.Services 2 @using Co3.MCH.Data.Models.MCH365 3 @using Co3.MCH.Website.Frontend.Models.Frontend.Ecommerce 4 @using Dynamicweb 5 @using ProductService = Co3.MCH.Website.Frontend.Services.Ecommerce.ProductService 6 @inherits Dynamicweb.Rendering.ViewModelTemplate<Co3.MCH.Website.Frontend.Models.Frontend.Ecommerce.ProfileProduct> 7 8 @{ 9 bool hasPresentation = Model.HasPresentation; 10 bool companyBookMeeting = Model.Contact.BookMeeting; 11 bool companyDirectContact = Model.Contact.DirectContact; 12 string companyEmail = Model.Company.Email; 13 IEnumerable<BoothInfo> booths = Model.Booths; 14 15 List<ContactPersonProduct> contactPersons; 16 17 string profileText; 18 19 20 if (hasPresentation) 21 { 22 contactPersons = Model.Presentation.ContactPersons.Products.Select(p => (ContactPersonProduct)p).ToList(); 23 profileText = ProductService.Instance.GetTruncatedFormattedString(Model.Presentation.DescriptionFormatted, 650); 24 } 25 else 26 { 27 contactPersons = Model.ContactPersons.Products.Select(p => (ContactPersonProduct)p).ToList(); 28 profileText = ProductService.Instance.GetTruncatedFormattedString(Model.Company.DescriptionFormatted, 650); 29 } 30 31 string listViewMode = string.IsNullOrEmpty(Context.Current.Session["ListViewMode"]?.ToString()) ? "expanded" : Context.Current.Session["ListViewMode"]?.ToString(); 32 if (listViewMode == "condensed") 33 { 34 <div data-listViewMode="@listViewMode" class="w-100 bg-ultralight border-radius mt-half e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item-@Model.Id" data-product-id="@Model.Id" data-variant-id="@Model.VariantId"> 35 <div class="e-productlist-item-container container-fluid h-100"> 36 <div class="row h-100"> 37 <div class="col-12 p-1 mch365-productlist-item-content-wrapper item-condensed flex-row"> 38 <div class="item-condensed-title"> 39 <div class="d-flex mr-3"> 40 <div class="condensed-list-logo mr-1"> 41 @if (Model?.Company?.Logo != null) 42 { 43 string logoImage = Model.Company.Logo; 44 string companyBackgroundColor = Model.Company.BrandColor; 45 string noCompanyInfo = ""; 46 string textLight = "e-text-light"; 47 if (string.IsNullOrEmpty(logoImage) && string.IsNullOrEmpty(companyBackgroundColor)) 48 { 49 noCompanyInfo = "bg-light"; 50 textLight = "text-muted"; 51 } 52 53 string noLogoBackground = ""; 54 if (string.IsNullOrEmpty(logoImage) && !string.IsNullOrEmpty(companyBackgroundColor)) 55 { 56 noLogoBackground = "style=\"background:" + companyBackgroundColor + ";\""; 57 } 58 59 <div class="e-productlist-item-image-container @noCompanyInfo mb-0" @noLogoBackground> 60 <a class="e-productlist-item-image-wrapper justify-content-center align-items-center d-flex @textLight" href="@Model.Link"> 61 @{ 62 if (string.IsNullOrEmpty(logoImage)) 63 { 64 <span class="h1 mb-0">@Model.Company.Name.Substring(0, 1).ToLower()</span> 65 } 66 else 67 { 68 <img alt="@Model.Company.Name" class="e-productlist-item-image w-100 p-1" src="@logoImage"/> 69 } 70 } 71 72 </a> 73 </div> 74 } 75 </div> 76 <div> 77 <h4 class="mb-0 font-weight-extrabold line-clamp-1">@Model.Company.Name</h4> 78 <p class="small line-height-sm mb-0 mt-1 line-clamp-2"> 79 @profileText 80 </p> 81 </div> 82 </div> 83 </div> 84 <div class="item-condensed-booth"> 85 @if (booths != null) 86 { 87 if (booths.Count() == 1) 88 { 89 BoothInfo booth = booths.FirstOrDefault(); 90 if (booth.Hall != null && booth.Booth != null) 91 { 92 <p class="small mb-0"> 93 <small>@Translate("MCH365 - Profile booth - Text", "Stand")</small> 94 </p> 95 <h4 class="mt-half mb-0 font-weight-extrabold mr-xl-2" style="white-space: nowrap"> 96 @booth.Hall.Name <span class="text-downsize-notched">@booth.Booth.Number </span> 97 </h4> 98 } 99 } 100 else 101 { 102 <div class="align-items-baseline d-inline-flex flex-wrap justify-content-end justify-content-xl-start mb-1"> 103 <p class="small w-100 mb-0"> 104 <small>@Translate("MCH365 - Profile booths - Text", "Stande")</small> 105 </p> 106 @foreach (BoothInfo booth in booths) 107 { 108 if (booth.Hall != null && booth.Booth != null) 109 { 110 <h4 class="font-weight-extrabold mb-0 ml-1 ml-xl-0 mr-xl-1 mt-half text-muted" style="white-space: nowrap"> 111 @booth.Hall.Name <span class="text-downsize-notched">@booth.Booth.Number</span> 112 </h4> 113 } 114 } 115 </div> 116 } 117 } 118 </div> 119 <div class="item-condensed-subasset"> 120 @if (Model.SubAssetInfo.Count > 0) 121 { 122 <p class="mb-0 font-weight-bold"> 123 <small>@Model.SubAssetInfo.Count @Translate("MCH365 - Profile listItem SubAssetInfo - Text", "opslag")</small> 124 </p> 125 <p class="small mb-0 mt-half font-weight-normal d-none d-md-block">@Translate("MCH365 - Profile listItem latestUpdate - Text", "seneste fra") @Model.SubAssetInfo.LatestDate.ToString("d. MMMM yyyy")</p> 126 } 127 </div> 128 <div class="item-condensed-contacts"> 129 @if (contactPersons.Any()) 130 { 131 <div class="mt-auto"> 132 <p class="d-block mb-0 text-right"> 133 <small>@contactPersons.Count() @Translate("MCH365 - Profile listItem contactPersons - Text", "kontakt­personer")</small> 134 </p> 135 </div> 136 } 137 </div> 138 <div class="item-condensed-options"> 139 @if (!string.IsNullOrEmpty(companyEmail)) 140 { 141 <div class="d-flex small align-items-center justify-content-end mch365-custom-productlist-cta"> 142 @if (companyDirectContact) 143 { 144 <span class="mch365-custom-productlist-cta-icon"> 145 <img src="/Files/Templates/Designs/exhibition_site/_assets/img/streamline/streamline-icon-email-action-edit@48x48.svg" title="@Translate("MCH365 - Profile listItem contactDirect - Text", "Direkte kontakt")" alt="" role="presentation"/> 146 </span> 147 } 148 @if (companyBookMeeting) 149 { 150 <span class="mch365-custom-productlist-cta-icon"> 151 <img src="/Files/Templates/Designs/exhibition_site/_assets/img/streamline/streamline-icon-calendar-edit@48x48.svg" title="@Translate("MCH365 - Profile listItem bookMeeting - Text", "Møde­booking")" alt="" role="presentation"/> 152 </span> 153 } 154 </div> 155 } 156 </div> 157 </div> 158 </div> 159 </div> 160 </div> 161 } 162 else 163 { 164 <div class="w-100 bg-ultralight border-radius my-1 e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item-@Model.Id" data-product-id="@Model.Id" data-variant-id="@Model.VariantId"> 165 <div class="e-productlist-item-container container-fluid h-100"> 166 <div class="row h-100"> 167 <div class="col-9 col-lg-7 col-xl-8 p-1 p-lg-2 mch365-productlist-item-content-wrapper"> 168 <h3 class="mb-0 font-weight-extrabold">@Model.Company.Name</h3> 169170 @if (booths != null) 171 { 172 if (booths.Count() == 1) 173 { 174 BoothInfo booth = booths.FirstOrDefault(); 175 if (booth.Hall != null && booth.Booth != null) 176 { 177 <h3 class="mt-0 mb-1 font-weight-extrabold"> 178 @booth.Hall.Name <span class="text-downsize-notched">@booth.Booth.Number</span> 179 </h3> 180 } 181 } 182 else 183 { 184 <div class="d-inline-flex flex-wrap mb-1"> 185 @foreach (BoothInfo booth in booths) 186 { 187 if (booth.Hall != null && booth.Booth != null) 188 { 189 <h3 class="mt-0 mb-0 font-weight-extrabold mr-1" style="white-space: nowrap"> 190 @booth.Hall.Name <span class="text-downsize-notched">@booth.Booth.Number</span> 191 </h3> 192 } 193 } 194 </div> 195 } 196 } 197198 <p class="small line-height-sm mb-2 mt-1 line-clamp-10"> 199 @profileText 200 </p> 201202203 @if (Model.SubAssetInfo.Count > 0) 204 { 205 <span class="mch365-productlist-item-bulletin-wrapper mt-auto"> 206 <h4 class="mb-0">@Model.SubAssetInfo.Count @Translate("MCH365 - Profile listItem SubAssetInfo - Text", "opslag")</h4> 207 <p class="small mb-0 mt-half font-weight-normal">@Translate("MCH365 - Profile listItem latestUpdate - Text", "seneste fra") @Model.SubAssetInfo.LatestDate.ToString("d. MMMM yyyy")</p> 208 </span> 209 } 210211 </div> 212 <div class="col-3 col-lg-5 col-xl-4 bg-light p-1 p-lg-2 mch365-productlist-item-sidebar-wrapper"> 213214 @if (Model?.Company?.Logo != null) 215 { 216 string logoImage = Model.Company.Logo; 217 string companyBackgroundColor = Model.Company.BrandColor; 218219 string noCompanyInfo = ""; 220 string textLight = "e-text-light"; 221222 if (string.IsNullOrEmpty(logoImage) && string.IsNullOrEmpty(companyBackgroundColor)) 223 { 224 noCompanyInfo = "bg-light"; 225 textLight = "text-muted"; 226 } 227228 string noLogoBackground = ""; 229 if (string.IsNullOrEmpty(logoImage) && !string.IsNullOrEmpty(companyBackgroundColor)) 230 { 231 noLogoBackground = "style=\"background:" + companyBackgroundColor + ";\""; 232 } 233234 <div class="e-productlist-item-image-container @noCompanyInfo" @noLogoBackground> 235 <a class="e-productlist-item-image-wrapper justify-content-center align-items-center d-flex @textLight" href="@Model.Link"> 236 @{ 237 if (string.IsNullOrEmpty(logoImage)) 238 { 239 <span class="h1 mb-0">@Model.Company.Name.Substring(0, 1).ToLower()</span> 240 } 241 else 242 { 243 <img alt="@Model.Company.Name" class="e-productlist-item-image w-100 p-1" src="@logoImage"/> 244 } 245 } 246247 </a> 248 </div> 249 } 250251 @if (!string.IsNullOrEmpty(companyEmail)) 252 { 253 <div class="small flex-column mb-2"> 254 @if (companyDirectContact) 255 { 256 <span class="d-flex small font-weight-normal mb-1 align-items-center text-center mch365-custom-productlist-cta"> 257 <span class="mch365-custom-productlist-cta-icon"> 258 <img src="/Files/Templates/Designs/exhibition_site/_assets/img/streamline/streamline-icon-email-action-edit@48x48.svg" alt="" role="presentation"/> 259 </span><span>@Translate("MCH365 - Profile listItem contactDirect - Text", "Direkte kontakt")</span> 260 </span> 261 } 262 @if (companyBookMeeting) 263 { 264 <span class="d-flex small font-weight-normal mb-1 align-items-center text-center mch365-custom-productlist-cta"> 265 <span class="mch365-custom-productlist-cta-icon"> 266 <img src="/Files/Templates/Designs/exhibition_site/_assets/img/streamline/streamline-icon-calendar-edit@48x48.svg" alt="" role="presentation"/> 267 </span><span>@Translate("MCH365 - Profile listItem bookMeeting - Text", "Møde­booking")</span> 268 </span> 269 } 270 </div> 271 } 272 @if (contactPersons.Any()) 273 { 274 <div class="mt-auto"> 275 <ul class="mch365-productlist-custom-contact-persons"> 276277 @foreach (ContactPersonProduct contactPerson in contactPersons.OrderBy(cp => cp.Sort).Take(3)) 278 { 279 string noImageClasses = ""; 280 string contactPersonImage = contactPerson.Image; 281 if (string.IsNullOrEmpty(contactPersonImage)) 282 { 283 contactPersonImage = "/Files/Templates/Designs/mch365_admin/_assets/img/mch365-noimage.svg"; 284 noImageClasses = "bg-white"; 285 } 286287 <li class="animate animate-triggered fadeIn animate-show @noImageClasses" style="background-image: url('/admin/public/getimage.ashx?Image=@contactPersonImage&Width=100&Height=100&Format=webp&Quality=75&Crop=0');" title="@contactPerson.Name"></li> 288 } 289290 @if (contactPersons.Count() > 3) 291 { 292 <li class="mch365-productlist-custom-contact-persons-add"> </li> 293 } 294295 </ul> 296 <p class="d-block mb-0 mt-1 small text-center"> 297 <small>@contactPersons.Count() @Translate("MCH365 - Profile listItem contactPersons - Text", "kontakt­personer")</small> 298 </p> 299 </div> 300 } 301 </div> 302 </div> 303 </div> 304 </div> 305 } 306 }
AddSecure Smart Transport A/S
AddSecure is the industry leading supplier of fleet management solutions. Our products and solutions connect drivers, vehicles, and other resources to help transport companies optimize their operations and reduce costs.Grow your business through the power of connected vehicle technology, data-driven intelligence and analytics. We help you digitize your fleet and give you access to important data in real time so that you can meet the ever-increasing demands of transport customers, global e-commerce and environmental regulations.
4 post
latest from 30. March 2023
ALCAR Danmark A/S
8 post
latest from 5. March 2025
Besko A/S
BESKO has supplied spare parts and tools to the heavy sector since 1987.BESKO is today part of the BPW group, which is Europe's leading manufacturer of axles for trailers. We are proud of this, as BPW is a company that stands for high quality and innovation.
5 post
latest from 13. August 2024
BM Autoteknik A/S
V Spoilers
11 post
latest from 21. February 2023
Ekstralys as
4 post
latest from 11. April 2023
Europart Danmark A/S
EUROPART has been on the market for 75 years – and is the leading partner in Europe for spare parts and accessories for trucks, trailers, buses and vans, as well as all tools and consumables. EUROPART is based on a passionate value system, which guides us in our daily work – to treat business partners, employees and the environment with respect and the high level of flexibility and dynamism of our company.In addition, our customers benefit from the quality products of our own brand "EUROPART Premium Parts". With over 7,500 part numbers available.
FDParts A/S
2 post
latest from 1. April 2025
Folke-Larsens Eftf. A/S
Folke-Larsen is a modern company with almost 60 years of experience!We are very proud to offer a wide range of products for the farming industry among others. That is compressors, generators, pumps, battery tools, equipment for workshops and a lot more. We cooperate with well-known global brands. Our employees are specialists in the use of our tools and products.
8 post
latest from 16. September 2025








