• More than 20 years experience
  • Complete assessments
  • No agency fees
Schedule an appointment
Schedule an appointment
Error executing template "Designs/ClientBase_generated/Paragraph/JumbotronContainer.cshtml"
System.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK__ItemType__3214EC07EAC40CA3'. Cannot insert duplicate key in object 'dbo.ItemType_JumbotronConfiguration'. The duplicate key value is (96966).
The statement has been terminated.
   at System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
   at System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
   at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
   at System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
   at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
   at Dynamicweb.Content.Items.Queries.Repository.Update(IEnumerable`1 items, ItemContext context, Boolean synchronizePages)
   at Dynamicweb.Content.Items.Queries.Repository.Update(ItemEntry item, ItemContext context)
   at Dynamicweb.Content.Items.ItemEntry.Save(ItemContext context)
   at Bluedesk.DynamicWeb.ItemTypes.Configuration.JumbotronConfiguration.GetJumbotronStylesheet()
   at CompiledRazorTemplates.Dynamic.RazorEngine_a298033923bd4aef989bb43c1ab506f9.Execute() in D:\dynamicweb.net\Solutions\Bluedesk\worldemp.cloud.dynamicweb-cms.com\files\Templates\Designs\ClientBase_generated\Paragraph\JumbotronContainer.cshtml:line 264
   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:61691a01-5ee7-4122-b693-4324de7b6dbc
Error Number:2627,State:1,Class:14

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 @using Dynamicweb; 3 @using Dynamicweb.Content.Items; 4 @using Dynamicweb.Content.Items.Metadata; 5 @using Bluedesk.DynamicWeb.ItemTypes; 6 @using Bluedesk.DynamicWeb.ItemTypes.Settings; 7 8 9 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 10 @using Dynamicweb; 11 @using Dynamicweb.Content.Items; 12 @using Bluedesk.DynamicWeb.ItemTypes; 13 @using Bluedesk.DynamicWeb.ItemTypes.Extensions; 14 @using Bluedesk.DynamicWeb.ItemTypes.Configuration; 15 @using Bluedesk.DynamicWeb.ItemTypes.Settings.Configuration; 16 @using Dynamicweb; 17 @using Dynamicweb.Frontend 18 @using Bluedesk.DynamicWeb.ItemTypes.BaseSolution; 19 20 @helper RenderButton(CTAButton button, PageView Pageview) 21 { 22 23 if (!string.IsNullOrWhiteSpace(button.GetLink(Pageview))) 24 { 25 string Template = button.GetButtonTemplate().Replace("{{ ButtonLink }}", button.GetLink(Pageview)); 26 @Template; 27 } 28 } 29 30 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 31 @using Dynamicweb; 32 @using Dynamicweb.Content.Items; 33 @using Bluedesk.DynamicWeb.ItemTypes; 34 35 @functions { 36 37 Dictionary<string, string> GetFontConfiguration(string TextColor, FontConfigurationItemTab FontConfiguration) 38 { 39 var colorService = new ColorSwatchService(); 40 TextColor = !string.IsNullOrWhiteSpace(TextColor) ? TextColor : "" ; 41 TextColor = !TextColor.Contains("#") ? colorService.GetHexColor(Pageview.AreaID, TextColor) : TextColor; 42 Dictionary<string, string> FontConfig = new Dictionary<string, string>() { 43 { "textColor" , TextColor }, 44 { "fontSize" , FontConfiguration.FontSize }, 45 { "lineHeight", FontConfiguration.LineHeight}, 46 { "fontFamily" , FontConfiguration.FontConfiguration.FontFamily }, 47 { "fontWeight" , FontConfiguration.FontWeight }, 48 { "fontStyle" , FontConfiguration.FontStyle } 49 }; 50 return FontConfig; 51 } 52 53 public string GenerateButtonConfigVariables(ButtonConfiguration BC, MasterConfig mc, int areaId) 54 { 55 string ButtonLabelAlignment = BC.ButtonLabelAlignment; 56 switch (ButtonLabelAlignment) 57 { 58 case "align-left": 59 ButtonLabelAlignment = "flex-start"; 60 break; 61 case "align-center": 62 ButtonLabelAlignment = "center"; 63 break; 64 case "align-right": 65 ButtonLabelAlignment = "flex-end"; 66 break; 67 case "align-full": 68 ButtonLabelAlignment = "space-between"; 69 break; 70 default: 71 ButtonLabelAlignment = "flex-start"; 72 break; 73 } 74 75 var btnStyleBlock = new System.Text.StringBuilder(); 76 77 // General Config 78 btnStyleBlock.Append(GenerateCssVar("btn-min-height", $"{mc.GeneralConfiguration.ButtonHeight}px")); 79 btnStyleBlock.Append(GenerateCssVar("btn-border-radius", $"{mc.GeneralConfiguration.RoundedCornerValue}px")); 80 81 // Button Config 82 btnStyleBlock.Append(GenerateCssVar("btn-border-width", $"{BC.BorderSize.ToString()}px")); 83 btnStyleBlock.Append(GenerateCssVar("btn-label-alignment", ButtonLabelAlignment)); 84 85 // Button Config Tab 86 btnStyleBlock.Append(GenerateCssVar("btn-bg-color", BC.ButtonColorConfiguration.BackgroundColor.GetColorCode(areaId))); 87 btnStyleBlock.Append(GenerateCssVar("btn-font-color", BC.ButtonColorConfiguration.FontColor.GetColorCode(areaId))); 88 btnStyleBlock.Append(GenerateCssVar("btn-border-color", BC.ButtonColorConfiguration.BorderColor.GetColorCode(areaId))); 89 90 // Button Config Hover tab 91 btnStyleBlock.Append(GenerateCssVar("btn-bg-color-hover", BC.ButtonHoverColorConfiguration.BackgroundColor.GetColorCode(areaId))); 92 btnStyleBlock.Append(GenerateCssVar("btn-font-color-hover", BC.ButtonHoverColorConfiguration.FontColor.GetColorCode(areaId))); 93 btnStyleBlock.Append(GenerateCssVar("btn-border-color-hover", BC.ButtonHoverColorConfiguration.BorderColor.GetColorCode(areaId))); 94 95 // Button Config Font Config 96 btnStyleBlock.Append(GenerateCssVar("btn-font-size", BC.FontConfiguration.FontSize)); 97 btnStyleBlock.Append(GenerateCssVar("btn-font-config-color", BC.FontConfiguration.Color.GetColorCode(areaId))); 98 btnStyleBlock.Append(GenerateCssVar("btn-font-line-height", BC.FontConfiguration.LineHeight)); 99 btnStyleBlock.Append(GenerateCssVar("btn-font-family", BC.FontConfiguration.FontConfiguration.FontFamily)); 100 btnStyleBlock.Append(GenerateCssVar("btn-font-weight", BC.FontConfiguration.FontWeight)); 101 btnStyleBlock.Append(GenerateCssVar("btn-font-transform", BC.FontConfiguration.FontStyle)); 102 103 return btnStyleBlock.ToString(); 104 } 105 106 public string GenerateCssVar(string name, string value) 107 { 108 if (!string.IsNullOrWhiteSpace(value)) { 109 return $"--{name}: {value};"; 110 } else { 111 return ""; 112 } 113 } 114 } 115 116 117 @{ 118 119 JumbotronContainer _data = Dynamicweb.Services.Items.GetItem("JumbotronContainer", Pageview.CurrentParagraph.ItemId).ToCodeFirstItem<JumbotronContainer>() ?? new JumbotronContainer(); 120 121 var colorService = new ColorSwatchService(); 122 123 string backgroundClass = !string.IsNullOrWhiteSpace(_data.JumbotronConfiguration.BackgroundClass) ? string.Format("bg-{0}", _data.JumbotronConfiguration.BackgroundClass) : ""; 124 string JumbotronHeight = _data.JumbotronHeight + "px"; 125 126 string BackgroundHorizontalPosition = ""; 127 string BackgroundVerticalPosition = ""; 128 129 string QuickmenuWidth = _data.QuickmenuWidth + "px"; 130 int JumbotronListCount = _data.JumbotronList.Count; 131 132 string JumbotronCarouselClass = JumbotronListCount != 1 ? "jumbotron__carousel" : "jumbotron__no-carousel"; 133 string JumbotronCarouselMobClass = JumbotronListCount != 1 ? "jumbotron__carousel-mob" : "jumbotron__no-carousel-mob"; 134 135 var paragraphID = Pageview.CurrentParagraph.ID; 136 var JumbotronBackgroundClassName = ""; 137 138 string ShoutboxBackgroundColor = _data.JumbotronConfiguration.ShoutboxBackgroundColor; 139 string ShoutBoxGradient = _data.JumbotronConfiguration.ShoutboxBackgroundGradient; 140 141 string ShoutboxBackgroundImage = _data.JumbotronConfiguration.ShoutboxBackgroundImage; 142 143 string QuickmenuBackgoundImage = _data.JumbotronConfiguration.QuickmenuBackgroundImage; 144 145 ShoutboxBackgroundColor = colorService.GetHexColor(Pageview.AreaID, ShoutboxBackgroundColor); 146 147 } 148 149 <!-- 150 ***************************** 151 **** BEGIN DESKTOP SETUP **** 152 ***************************** 153 --> 154 155 <section class="jumbotron__playground jumbotron-mask jumbotron__playground-@paragraphID jumbotron--desktop jumboConfig--@_data.JumbotronConfigurationID @_data.CssClass @backgroundClass"> 156 157 <section class="@JumbotronCarouselClass"> 158 159 @foreach (var _item in _data.JumbotronList) 160 { 161 162 BackgroundHorizontalPosition = _item.BackgroundHorizontalPosition; 163 BackgroundVerticalPosition = _item.BackgroundVerticalPosition != "center" ? _item.BackgroundVerticalPosition : "middle"; 164 JumbotronBackgroundClassName = "jumbotron__image_background_" + paragraphID + "_" + _item.Id; 165 string jumbotronImage = _item.Image.Image.Replace("?x","&x"); 166 <div class="jumbotron @_item.CssClass" id="@_item.Id"> 167 168 <style> 169 170 @@media screen and (min-width: 994px) { 171 .@JumbotronBackgroundClassName { 172 background-image: url('/Admin/Public/GetImage.ashx?Image=@jumbotronImage&Crop=7&Format=webp&Width=1200&height=@_data.JumbotronHeight&Quality=-1&Compression=100'); 173 } 174 } 175 176 @@media screen and (min-width: 1200px) { 177 .@JumbotronBackgroundClassName { 178 background-image: url('/Admin/Public/GetImage.ashx?Image=@jumbotronImage&Crop=7&Format=webp&Width=2000&height=@_data.JumbotronHeight&Quality=-1&Compression=100'); 179 } 180 } 181 182 </style> 183 184 <figure class="jumbotron__image rellaxOff @BackgroundHorizontalPosition @BackgroundVerticalPosition @JumbotronBackgroundClassName"></figure> 185 186 @RenderShoutbox(_data, _item) 187 </div> 188 } 189 190 </section> 191 192 <!-- BEGIN QUICKMENU --> 193 194 @RenderQuickmenu(_data) 195 196 <!-- END QUICKMENU --> 197 198 <div class="jumbotron__shaper-container"><!--// 199 <svg width="100%" height="500" viewBox="0 0 1600 600" preserveAspectRatio="none"> 200 <defs> 201 <style> 202 .cls-1 { 203 fill: #cccccb; 204 } 205 206 .cls-2 { 207 fill: #fff; 208 opacity: 0.2; 209 } 210 211 </style> 212 </defs> 213 <title></title> 214 <path class="jumbotron__shaper-homepage" d="M2.59,495,237,553l122-48,132,54,360,16,262-48,176-90,154,120,112,12,206-102,159.79,65v71H1.56S1.31,493.72,2.59,495Z" /> 215 <polygon class="cls-2" points="359 505 317 599 491 559 359 505" /> 216 <polygon class="cls-2" points="1289 437 1443 557 1177 601 1289 437" /> 217 <polygon class="cls-2" points="1761 467 1696.44 604.28 1920.8 603 1920.8 532.03 1761 467" /> 218 </svg> 219 <svg width="100%" height="600" viewBox="0 0 2000 600" preserveAspectRatio="none"> 220 <clipPath id="myClip"> 221 <path class="cls-1" d="M1999.57,425c-123.24,53.94-329.82,96.6-581.35,119.35q33.6-6.59,65.7-14.19c104.82-24.86,197.33-58,276-98.78,21.37-11.08,49.25-53.51,49.25-53.51C1609,504.41,1328.64,545.78,1128.7,558.21c-31.7,2-62.42,3.29-91.8,4.12q-18.23.13-36.6.13c-81.34,0-160.65-1.95-237.08-5.65-16.15-1.19-25.6-1.31-25.6-1.31C416.39,538.15,148.8,489.67,1,425H.3V600h2000V425Z"></path> 222 </clipPath> 223 </svg> 224 //--> 225 226 <!--// 227 <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" height="0" width="0" viewBox="0 0 2000 600" preserveAspectRatio=""> 228 <clipPath id="myClip"> 229 <path class="st0" d="M0,0v325h0.2C37.1,389.7,104,438.2,184.3,455.5c0,0,2.4,0.1,6.4,1.3c19.1,3.7,38.9,5.7,59.3,5.7 230 c3.1,0,6.1,0,9.2-0.1c7.3-0.8,15-2.1,23-4.1c50-12.4,120.1-53.8,170.1-180.3c0,0-7,42.4-12.3,53.5c-19.7,40.8-42.8,73.9-69,98.8 231 c-5.4,5.1-10.8,9.8-16.4,14.2C417.4,421.6,469,378.9,499.8,325h0.2V0H0z" /> 232 </clipPath> 233 </svg> 234 //--> 235 236 <!--<img src="https://images.unsplash.com/photo-1592006256125-1e7622ead3b0?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=400&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ" alt="Photographer in a market." height="1000" width="1000" /> 237 <svg width="0" height="0"> 238 <clipPath id="svgClip" clipPathUnits="objectBoundingBox"> 239 <path d="M0.75815095, 0.0579477769 C0.879893708, 0.187288937 0.902165272, 0.677587654 0.799370955, 0.785996249 C0.627963035, 0.966765889 0.26163708, 0.91434951 0.111342491,0.755791573 C-0.0332137967,0.603287436 -0.035795248,0.382887577 0.0965066612,0.173955315 C0.200239457,0.0101396315 0.648923894,-0.0580965318 0.75815095,0.0579477769 Z"></path> 240 </clipPath> 241 </svg> 242 <style> 243 .jumbotron-mask { 244 clip-path: url(#svgClip); 245 width: 18em; 246 height: 18em; 247 object-fit: cover; 248 display: block; 249 margin-right: auto; 250 margin-left: auto; 251 } 252 </style>--> 253 </div> 254 255 </section> 256 257 <!-- 258 *************************** 259 **** END DESKTOP SETUP **** 260 *************************** 261 --> 262 263 <style> 264 @_data.JumbotronConfiguration.GetJumbotronStylesheet() 265 </style> 266 267 <!-- 268 **************************** 269 **** BEGIN MOBILE SETUP **** 270 **************************** 271 --> 272 273 <section class="jumbotron__playground jumbotron__playground-@paragraphID jumbotron--mobile @_data.CssClass"> 274 275 <section class="@JumbotronCarouselMobClass"> 276 @{ int mobIndex = 0; } 277 @foreach (var _item in _data.JumbotronList) 278 { 279 280 BackgroundHorizontalPosition = _item.BackgroundHorizontalPosition; 281 BackgroundVerticalPosition = _item.BackgroundVerticalPosition != "center" ? _item.BackgroundVerticalPosition : "middle"; 282 string lazyLoad = mobIndex > 0 ? "loading='lazy'" : ""; 283 string jumbotronImage = _item.Image.Image.Replace("?x","&x"); 284 <div class="jumbotron @_item.CssClass"> 285 286 <!-- BEGIN IMAGE --> 287 288 <figure class="jumbotron__image-container"> 289 <picture class="jumbotron__image w-full h-full"> 290 <source media="(max-width: 400px)" srcset="/Admin/Public/GetImage.ashx?Image=@jumbotronImage&Crop=7&Format=webp&Quality=-1&Width=400&Compression=90"> 291 <source media="(max-width: 500px)" srcset="/Admin/Public/GetImage.ashx?Image=@jumbotronImage&Crop=7&Format=webp&Quality=-1&Width=500&Compression=90"> 292 <source media="(max-width: 600px)" srcset="/Admin/Public/GetImage.ashx?Image=@jumbotronImage&Crop=7&Format=webp&Quality=-1&Width=600&Compression=90"> 293 <source media="(max-width: 700px)" srcset="/Admin/Public/GetImage.ashx?Image=@jumbotronImage&Crop=7&Format=webp&Quality=-1&Width=700&Compression=90"> 294 <source media="(max-width: 994px)" srcset="/Admin/Public/GetImage.ashx?Image=@jumbotronImage&Crop=7&Format=webp&Quality=-1&Width=994&Compression=90"> 295 <img src="/Admin/Public/GetImage.ashx?Image=@jumbotronImage&Crop=7&Format=webp&Width=400&Quality=-1&Compression=90" width="1980" height="500" alt="@_item.Image.ImageAlt" @lazyLoad /> 296 </picture> 297 </figure> 298 299 <!-- END IMAGE --> 300 <!-- BEGIN SHOUTBOX --> 301 302 @RenderShoutbox(_data, _item) 303 304 <!-- END SHOUTBOX --> 305 </div> 306 mobIndex++; 307 } 308 309 </section> 310 311 <!-- BEGIN QUICKMENU --> 312 313 @RenderQuickmenu(_data) 314 315 <!-- END QUICKMENU --> 316 317 </section> 318 319 <!-- 320 ************************ 321 *** END MOBILE SETUP *** 322 ************************ 323 --> 324 325 <style> 326 .jumbotron__playground, 327 .jumbotron { 328 height: auto; 329 } 330 331 @@media screen and (min-width: 991px){ 332 .jumbotron__playground-@paragraphID .jumbotron__carousel, 333 .jumbotron__playground-@paragraphID .jumbotron { 334 height: @JumbotronHeight; 335 overflow: hidden; 336 } 337 338 .jumbotron__playground-@paragraphID .jumbotron__container { 339 width: 100%; 340 } 341 342 .jumbotron__playground-@paragraphID .quickmenu { 343 width: @QuickmenuWidth; 344 } 345 346 .jumbotron__playground-@paragraphID .jumbotron__no-carousel, 347 .jumbotron__playground-@paragraphID .jumbotron__carousel { 348 width: calc(100% - @QuickmenuWidth); 349 350 } 351 352 .jumbotron__playground-@paragraphID .jumbotron__shoutbox { 353 background-color: @ShoutboxBackgroundColor; 354 @if (!string.IsNullOrWhiteSpace(ShoutBoxGradient)) { 355 356 <text> @ShoutBoxGradient </text> 357 358 } 359 @if (!string.IsNullOrWhiteSpace(ShoutboxBackgroundImage)) { 360 361 <text> 362 background-image: url('@ShoutboxBackgroundImage'); 363 </text> 364 365 } 366 } 367 368 .jumbotron__playground-@paragraphID .quickmenu { 369 @if (!string.IsNullOrWhiteSpace(QuickmenuBackgoundImage)) { 370 371 <text> 372 background-image: url('@QuickmenuBackgoundImage'); 373 </text> 374 375 } 376 } 377 378 379 } 380 </style> 381 382 @helper RenderShoutbox(JumbotronContainer _data, JumbotronListItem _item) 383 { 384 string ShoutboxFullHeightClass = _data.ShoutboxFullHeight ? "fullheight" : ""; 385 string ShoutboxBackgroundTransparentClass = _data.ShoutboxBackgroundTransparent ? "transparent" : ""; 386 387 string ShoutboxHorizontalPositionClass = _data.ShoutboxHorizontalPosition; 388 string ShoutboxVerticalPositionClass = _data.ShoutboxVerticalPosition != "center" ? @_data.ShoutboxVerticalPosition : "middle"; 389 390 <section class="jumbotron__container container @ShoutboxHorizontalPositionClass @ShoutboxVerticalPositionClass "> 391 392 @if (_item.HasShoutbox) 393 { 394 <div class="jumbotron__shoutbox @ShoutboxBackgroundTransparentClass @ShoutboxFullHeightClass"> 395 <section class="jumbotron__shoutbox-header"> 396 397 @_item.SubHeader.HeaderFormatted("jumbotron__subheading") 398 @_item.Header.HeaderFormatted("jumbotron__heading") 399 400 @if (!string.IsNullOrWhiteSpace(_item.Content.Text)) 401 { 402 <div class="jumbotron__shoutbox-intro">@_item.Content.Text</div> 403 } 404 405 @RenderButton(_item.Button, Pageview) 406 407 </section> 408 </div> 409 } 410 </section> 411 } 412 413 @helper RenderQuickmenu(JumbotronContainer _data) 414 { 415 int quickmenuWidth = _data.QuickmenuWidth; 416 417 if (quickmenuWidth > 0) 418 { 419 <div class="quickmenu"> 420 <h2 class="quickmenu__header">@_data.QuickmenuHeader</h2> 421 <nav class="quickmenu__list"> 422 @foreach (var _link in _data.QuickmenuLinks) 423 { 424 var highlightedClass = _link.Highlighted ? "highlighted" : ""; 425 var targetLink = _link.NewWindow ? "target='_blank'" : ""; 426 427 <a href="@_link.Link" class="quickmenu__link @highlightedClass" @targetLink> @_link.Name </a> 428 } 429 </nav> 430 </div> 431 } 432 } 433

Recruitment process in 3 steps

Our recruitment process is carefully designed to ensure that each talent fully aligns with your team and company culture.

Recruitment

We begin the recruitment process with a thorough analysis of your business needs and create a detailed talent profile. Our specialized recruiters use their deep market knowledge to find and approach suitable candidates.

Selection

During the selection phase, we conduct extensive interviews and skills tests to ensure the competencies and cultural fit of the candidates. This process includes technical assessments and personal conversations, both at our office and via virtual meetings.

Start

After the selection, WorldEmp supports all HR-related formalities to ensure a smooth transition and onboarding of your new team member. From signing contracts to arranging the necessary documentation and setting up introductory programs, we make sure everything is in perfect order.

Full-time access to your own ‘remote’ team member: the benefits

Having a (remote) employee who is part of the team is the ideal solution to counter the competitive labor market. WorldEmp offers tailor-made solutions that meet your needs in areas such as:

  • Data
  • Engineering
  • ICT
  • Finance

Strengthen your teams with our highly educated professionals and prevent internal overload!

Free recruitment and 40-70% lower labor costs

In the long term, your company can scale up without risk using a large talent pool in countries with highly qualified workers.

Access to top-class expertise

Thanks to our thorough and rigorous selection process, we are able to attract highly educated professionals with specialized skills. We look not only at ‘professional skills’. During the process, candidates are also tested on their communication skills, culture, and the ability to work with colleagues from the unique Dutch culture.

WorldEmp

Outsourcing

International network

No recruitment costs

Compliance and no risk

Increased productivity

An employee speaks

Ganesh Kondewar:

Since my start in the summer of 2021, I have worked on various major projects. Daily contact with my team members in the Netherlands is great, as are the challenging tasks.

I also have very good contact with colleagues here at WorldEmp. It feels like a close-knit family."

On the path to efficiency and growth

At WorldEmp, we see traditional recruitment differently. We go beyond standard practices by not only offering top talent but also by realizing true team expansions. Having your own team member through WorldEmp offers significant advantages over conventional outsourcing. Each team member can be deployed 100%, allowing your organization to fully focus on efficiency and growth.

A client speaks...

Outsourcing bedrijfBarry Tempelaar, CEO Bluedesk:
The collaboration with WorldEmp has been positively surprising for Bluedesk. We were looking for an experienced .Net developer who could be quickly deployed. The transparent and effective recruitment process of WorldEmp ensured that we were soon offered CVs of developers who really fit our company. In addition to the talent of the candidate, attention is also paid to whether there is a "match" with colleagues in the Netherlands!

WorldEmp

Interested? Want to learn more?

We are happy to explain the concept

Our international recruiters undergo a comprehensive selection process aimed at finding those foreign professionals who, in addition to being excellent in their field, are also adept at collaborating with European companies.

Setting up an external team sounds challenging, but we at WorldEmp have accumulated enough 'best practices' to make a new collaboration successful.

We are happy to explain more in a personal conversation. Schedule an appointment via [email protected] or call us directly at +31 (0)88 – 400 29 00

To Top