Error executing template "Designs/rybners/_parsed/Rybners_course.parsed.cshtml"System.NullReferenceException: Object reference not set to an instance of an object.at CompiledRazorTemplates.Dynamic.RazorEngine_7e1ea3f0322f4d2fb260e0a123a2de64.Execute() in C:\inetpub\wwwroot\rybners.espresso4.dk\Files\Templates\Designs\rybners\_parsed\Rybners_course.parsed.cshtml:line 194at 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.b__0(TextWriter writer)at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Co3.Espresso.Website.TemplateBases.Pages.PageBase 2 @using System.IO 3 @using System.Web 4 @using System.Globalization 5 @using Dynamicweb.Frontend 6 @using Dynamicweb.Ecommerce.Common 7 @using Dynamicweb.Security.UserManagement 8 9 @{ 10 bool isUserAuthenticated = User.IsExtranetUserLoggedIn(); 11 12 string globalAreaLang = PageView.Current().Area.CultureInfo.TwoLetterISOLanguageName; 13 CultureInfo currencyCulture = new CultureInfo( Context.Currency.CultureInfo ); 14 string currencySeparatorDecimal = currencyCulture.NumberFormat.NumberDecimalSeparator; 15 string currencySeparatorInteger = currencyCulture.NumberFormat.NumberGroupSeparator; 16 string openGraphUrl = PageView.Current().SearchFriendlyUrl; 17 string openGraphImage = HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Host + Espresso.OpenGraphImage; 18 bool loadGoogleTagManager = !string.IsNullOrEmpty( Espresso.Area.GoogleTagManagerID ) && 19 !(Espresso.Area.Item.GoogleTagManagerDisableIfPerformanceTestIsDetected == "True" && HttpContext.Current.Request.UserAgent.ToLower().Contains( "lighthouse" )); 20 21 string rybnersSchoolBodyClass = string.Empty; 22 // Skoler 23 24 if ( GetString( "Item.Area.TekniskSkole.Value" ) == GetString( "DwPageID_2" ) ) 25 { 26 rybnersSchoolBodyClass = "rybners-tekniskskole"; 27 } 28 if ( GetString( "Item.Area.Handelsskole.Value" ) == GetString( "DwPageID_2" ) ) 29 { 30 rybnersSchoolBodyClass = "rybners-handelsskole"; 31 } 32 if ( GetString( "Item.Area.EUX.Value" ) == GetString( "DwPageID_2" ) ) 33 { 34 rybnersSchoolBodyClass = "rybners-eux"; 35 } 36 if ( GetString( "Item.Area.Kursuscenter.Value" ) == GetString( "DwPageID_2" ) ) 37 { 38 rybnersSchoolBodyClass = "rybners-kursuscenter"; 39 } 40 if ( GetString( "Item.Area.HHXHandelsgymnasium.Value" ) == GetString( "DwPageID_2" ) ) 41 { 42 rybnersSchoolBodyClass = "rybners-hhxhandelsgymnasium"; 43 } 44 if ( GetString( "Item.Area.STXAlmentGymnasium.Value" ) == GetString( "DwPageID_2" ) ) 45 { 46 rybnersSchoolBodyClass = "rybners-stxalmentgymnasium"; 47 } 48 if ( GetString( "Item.Area.HTXTekniskGymnasium.Value" ) == GetString( "DwPageID_2" ) ) 49 { 50 rybnersSchoolBodyClass = "rybners-htxtekniskgymnasium"; 51 } 52 if ( GetString( "Item.Area.HF.Value" ) == GetString( "DwPageID_2" ) ) 53 { 54 rybnersSchoolBodyClass = "rybners-hf"; 55 } 56 } 57 58 59 <!DOCTYPE html> 60 <html lang="@globalAreaLang" data-separator-integer="@currencySeparatorInteger" data-separator-decimal="@currencySeparatorDecimal"> 61 <head> 62 @GetValue( "CopyRightNotice" ) 63 <meta charset="utf-8"> 64 <meta content="width=device-width, initial-scale=1, shrink-to-fit=no, minimal-ui" name="viewport"> 65 <meta content="ie=edge" http-equiv="x-ua-compatible"> 66 <title>@GetValue("Title")</title> 67 @Espresso.CriticalCSS 68 @RenderSnippet( "webfonts" ) 69 <link href="/Files/Templates/Designs/rybners/_assets/_dist/css/default.css?v=0.035" media="@Espresso.StylesheetAttributeMedia" rel="@Espresso.StylesheetAttributeRel" as="style"> 70 @Espresso.CriticalJS 71 <link href="https://cdnjs.cloudflare.com" rel="preconnect"> 72 <link href="https://www.googletagmanager.com" rel="preconnect"> 73 <link href="https://www.google-analytics.com" rel="preconnect"> 74 <link href="https://connect.facebook.net" rel="preconnect"> 75 <link rel="shortcut icon" type="image/x-icon" href="@Espresso.Area.Item.Favicon"> 76 <meta name="description" content="@Espresso.DynamicwebPage.Description"> 77 @GetValue( "MetaTags" ) 78 @if ( Espresso.IsStagingUrl ) 79 { 80 <meta content="noindex,nofollow" name="robots"> 81 } 82 <meta property="og:url" content="@openGraphUrl"> 83 <meta property="og:title" content="@Espresso.OpenGraphTitle"> 84 <meta property="og:description" content="@Espresso.OpenGraphDescription"> 85 <meta property="og:image" content="@openGraphImage"> 86 <meta property="og:type" content="website"> 87 @if ( string.IsNullOrEmpty( Espresso.Area.Item.GoogleSiteVerification ) == false ) 88 { 89 <meta name="google-site-verification" content="@Espresso.Area.Item.GoogleSiteVerification"> 90 } 91 @if ( loadGoogleTagManager ) 92 { 93 <!-- Google Tag Manager --> 94 <script> 95 (function(w, d, s, l, i) { 96 w[l] = w[l] || []; 97 w[l].push({ 98 'gtm.start': 99 new Date().getTime(),100 event: 'gtm.js'101 });102 var f = d.getElementsByTagName(s)[0],103 j = d.createElement(s),104 dl = l != 'dataLayer' ? '&l=' + l : '';105 j.async = true;106 j.src =107 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;108 f.parentNode.insertBefore(j, f);109 })(window, document, 'script', 'dataLayer', '@Espresso.Area.GoogleTagManagerID');110 </script>111 <!-- End Google Tag Manager -->112 }113 </head>114115 <body class="@Espresso.Item.CustomClasses @rybnersSchoolBodyClass" data-is-user-authenticated="@isUserAuthenticated.ToString().ToLower()" data-design="@Espresso.Area.DesignsFolderName">116 @if ( loadGoogleTagManager )117 {118 <!-- Google Tag Manager (noscript) -->119 <noscript>120 <iframe src="https://www.googletagmanager.com/ns.html?id=@Espresso.Area.GoogleTagManagerID" height="0" width="0" style="display: none; visibility: hidden"></iframe>121 </noscript>122 <!-- End Google Tag Manager (noscript) -->123 }124125 @using Co3.Espresso.Base.Extensions126 @using Co3.Espresso.Website.Services127 @using Dynamicweb.Content128 @using Dynamicweb.Content.Items129 @using Dynamicweb.Extensibility130 @using Dynamicweb.Frontend131 @using RazorEngine.Templating132 @using ItemService = Co3.Espresso.Website.Services.ItemService133 @using Page = Dynamicweb.Content.Page134 @using PageService = Dynamicweb.Content.PageService135 @using ParagraphService = Dynamicweb.Content.ParagraphService136 @inherits Co3.Espresso.Website.TemplateBases.Pages.PageBase137138 @{139 Espresso.Canvas.Classes.AddClasses( "js-e-canvas is-loading" );140 if ( Espresso.Item.CanvasFullscreen == "True" )141 {142 Espresso.Canvas.Classes.AddClasses( "is-fullscreen" );143 }144145 PageService ps = new PageService();146 ParagraphService paragraphService = new ParagraphService();147148 Page holdPage = ps.GetPage( GetInteger( "Global.PageId" ) );149 string holdId = holdPage.Item[ "HoldAktiId" ]?.ToString();150 PageCollection fagCollection = ps.GetPagesForItems( new[] { "Skolefag" } );151 IEnumerable< Paragraph > courseMainCategoriesCollection = paragraphService.GetParagraphsByItemTypes( new[] {"CourseMainCaategori"} );152 Paragraph courseMainCategoryDefaults = new Paragraph();153154 foreach ( Paragraph mainCatParagraph in courseMainCategoriesCollection )155 {156 string[] cats = mainCatParagraph.Item[ "KategoriNavn" ]?.ToString().Split( ',' );157158 foreach ( string cat in cats )159 {160 if ( cat.ToLower().Trim().Replace( " ", "" ) == holdPage.Item[ "KategoriNavn" ]?.ToString().ToLower().Trim().Replace( " ", "" ) )161 {162 courseMainCategoryDefaults = mainCatParagraph;163 break;164 }165166 }167 }168169170171 List < Page > fagPages = fagCollection.Where( fc => fc.Item[ "SkoleFagAkti_id" ]?.ToString() != null && fc.Item[ "SkoleFagAkti_id" ].ToString().Split( ',' ).Contains( holdId ) ).ToList();172173 string courseStartStr = holdPage.Item[ "HoldStartDato" ]?.ToString();174 DateTime courseMainStartDate = new DateTime();175 DateTime.TryParse( courseStartStr, out courseMainStartDate );176177 string courseEndStr = holdPage.Item[ "HoldSlutDato" ]?.ToString();178 DateTime courseMainEndDate = new DateTime();179 DateTime.TryParse( courseEndStr, out courseMainEndDate );180181 string courseDeadlineStr = holdPage.Item[ "HoldTilmeldingsfrist" ]?.ToString();182 DateTime courseMainDeadlineDate = new DateTime();183 DateTime.TryParse( courseDeadlineStr, out courseMainDeadlineDate );184185 string coursePlace = holdPage.Item[ "HoldAfholdssted" ]?.ToString().Replace( ",", "<br>" );186187188 string courseImage = string.Empty;189 string courseDesc = string.Empty;190 string courseContacts = string.Empty;191192 if ( courseMainCategoryDefaults != null )193 {194 courseImage = courseMainCategoryDefaults.Item[ "CourseMainCategoryImage" ]?.ToString();195 courseDesc = courseMainCategoryDefaults.Item[ "CourseMainCategoryDescription" ]?.ToString();196 }197198 courseContacts = holdPage.Item[ "TilknyttedeKontaktpersoner" ]?.ToString();199200 string ManualImage = holdPage.Item["Billede"]?.ToString();201 string ManualDesc = holdPage.Item[ "YderligereTekst" ]?.ToString();202203204 if ( string.IsNullOrEmpty( ManualImage ) == false )205 {206 courseImage = ManualImage;207 }208 if ( string.IsNullOrEmpty( ManualDesc ) == false )209 {210 courseDesc = ManualDesc;211 }212213 string teamEmail = holdPage.Item[ "HoldEmail" ]?.ToString();214 string teamSignup = holdPage.Item[ "HoldTilmeldingsUrl" ]?.ToString();215 string signupRedirect = "https://www.efteruddannelse.dk/kursus?kviknrinfo=" + holdPage.Item[ "HoldKvikNr" ];216 string antalPladser = "";217 antalPladser = ( int ) holdPage.Item[ "HoldUdbudtePladser" ] == 0 ? "Få pladser tilbage. Kontakt os" : ( int ) holdPage.Item[ "HoldUdbudtePladser" ] + " pladser";218219220 }221222223224225 <div class="e-loading-overlay e-page-loading-overlay is-loading js-e-page-loading-overlay">226 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" )227 </div>228229 @RenderingService.Instance.PartialView( "_partials/webfonts.cshtml", Espresso )230 <a class="rybners-home-link" href="/"></a>231 <div class="@Espresso.Canvas.Classes">232 @RenderingService.Instance.PartialView( "_partials/header.cshtml", Espresso )233 @RenderingService.Instance.PartialView( "usermanagement/viewprofile/espresso-impersonate-user-msg.cshtml", Espresso )234 @RenderingService.Instance.PartialView( "_partials/nav-local-horizontal.cshtml", Espresso )235 <main class="e-content js-e-content @Espresso.ContentArea.Classes pt-0" id="dwcontentmain">236 @RenderingService.Instance.PartialView( "_partials/breadcrumb.cshtml", Espresso )237 <article class="e-content-article">238 @RenderingService.Instance.PartialView( "_partials/nav-local-vertical.cshtml", Espresso )239240 <section class="e-section e-theme-quaternary js-e-section mb-3 p pb-0 p-section pt-0 px-0" id="19717">241 <div class="container-fluid fixed-gutters overflow-hidden px-0">242 <div class="no-gutters row">243 <div class="col-12 col-lg-12 col-md-12 mx-auto">244 <div class="justify-content-center row">245 <div class="col-12 col-lg-6 col-md-6 col-sm-12 col-xl-6 p p-columns p-imagetext-tb">246 <div class="row ">247 <div class="col-12 col-lg-12 col-md-12 col-sm-12 col-xl-12 e-theme- p p-tile p-tile-center-middle p-tile-height-lg p-tile-txt-medium" id="19719">248 <div class="p-tile-container">249 <div class="p-txt-container">250 <div class="container-fluid">251 <div class="p-txt-wrapper row">252 <div class="col-xl-9">253254 <h2 class="mb-1">@holdPage.Item["AktivitetNavn"]</h2>255 @courseDesc256257 <div class="row">258 <div class="col-12 col-md-6 pt-2">259 @if ( courseMainStartDate.Equals( DateTime.MinValue ) == false )260 {261 <h3>Hvornår</h3>262 <p class="mb-0 small">263 @courseMainStartDate.ToString( "dd. MMM yyyy" ) - @courseMainEndDate.ToString( "dd. MMM yyyy" )264 </p>265 }266267 @if ( fagPages.Count == 1 )268 {269 Page firstPageItem = fagPages.FirstOrDefault();270 <p class="mb-0">271 Varighed: @firstPageItem.Item[ "SkoleFagVarighed" ] dage272 </p>273 }274 @if ( courseMainDeadlineDate.Equals( DateTime.MinValue ) == false )275 {276 <h5 class="pt-2">Tilmeldingsfrist:</h5>277 <p class="small">@courseMainDeadlineDate.ToString( "dd. MMM yyyy" )</p>278 }279 @if ( fagPages.Any() == false )280 {281 <h3>@Translate( "Rybners Course module - Inactive contact DA - Text", "Kontakt skolen" )</h3>282283 }284285 </div>286 @if ( string.IsNullOrEmpty( coursePlace ) == false )287 {288 <div class="col-12 col-md-6 pt-2">289 <h3>Hvor</h3>290 <p class="small">291 @coursePlace292 </p>293 </div>294 }295296 <script>297 var debugData = @JsonService.Instance.ToJson( holdPage.Item )298 </script>299300301302 </div>303 </div>304 </div>305 </div>306 </div>307 </div>308 </div>309 </div>310 </div>311312 <div class="col-12 col-lg-6 col-md-6 col-sm-12 col-xl-6 p p-columns p-imagetext-tb">313 <div class="row ">314 <div class="col-12 col-lg-3 col-md-3 col-sm-3 col-xl-3 e-theme-education-primary p p-tile p-tile-center-middle p-tile-gradient-disabled p-tile-height-xxs p-tile-txt-small" id="19722">315 <div class="p-tile-container">316 <div class="p-txt-container">317318 </div>319 </div>320 </div>321322 <div class="col-12 col-lg-9 col-md-9 col-sm-9 col-xl-9 e-theme- p p-tile p-tile-center-middle p-tile-gradient-disabled p-tile-height-lg p-tile-img p-tile-txt-small" id="19723">323 <div class="p-tile-container">324 <div class="p-img-container">325 @if ( courseImage != null )326 {327 <div class="bg-center-middle p-img" style="background-image: url(/admin/public/getimage.ashx?Image=@courseImage&amp;Width=960&amp;Height=0&amp;Format=jpg&amp;Quality=75&amp;Crop=0);"></div>328 }329330 </div>331 <div class="p-txt-container"></div>332 </div>333 </div>334 </div>335 </div>336 </div>337 </div>338 </div>339 </div>340 </section>341342 <section class="e-section e-theme-tertiary js-e-section p pb-0 p-section pt-0 px-0" id="19785">343 <div class="container-fluid overflow-hidden px-0">344 <div class="no-gutters no-gutters row">345 <div class="col-12 col-lg-12 col-md-12 mx-auto">346347348349 <div class="justify-content-center no-gutters row">350351352353 <div class="col-12 col-lg-6 col-md-6 col-sm-12 col-xl-6 p p-2 p-columns p-imagetext-tb px-lg-6">354355356 <div class="row ">357358 @if ( holdId == "0" )359 {360 <div class="col-12">361 <h3>Der er pt. ingen aktive hold til dette kursus. </h3>362 <p>@Translate( "Rybners Course module - Further info contact DA - Text", "Kontakt skolen for yderligere information." )</p>363 </div>364 }365366367 @if(fagPages != null && fagPages.Any()){368 <div aria-expanded="false" class="col-12 collapsed col-lg-12 col-md-12 e-section-collapse-toggle mx-auto order-last text-center" data-target="#e-section-collapse-coursedetails" data-toggle="collapse">369 <button class="btn btn-primary e-section-collapse-toggle-btn" type="button">370 <i class="e-section-collapse-toggle-icon material-icons">keyboard_arrow_down</i>371 </button>372 <small class="e-section-collapse-toggle-text h4" data-collapse-text="Vis mindre" data-expand-text="Vis mere"></small>373 </div>374375 <div class="col-12 collapse col-lg-12 col-md-12 e-section-collapse-content is-lg mx-auto" id="e-section-collapse-coursedetails" style="">376 <div class="justify-content-center row">377 <div class="col-12 col-lg-12 col-md-12 col-sm-12 col-xl-12 p p-imagetext p-imagetext-tb">378 <div class="row">379 <div class="col-12 p-txt-container">380 <h3 class="mb-2">Fag tilknyttet kurset</h3>381 </div>382 </div>383 @foreach ( Page fag in fagPages )384 {385 <div class="row">386 <div class="p col-12 p-card-padding-large p-card p-card-top-bottom p-card-border-thin p-card-shadow-none p-card-hover-disabled p-card-txt-small">387 <div class="card rybners-fag-card e-theme-quaternary border-0">388 <div class="p-txt-container e-text-fixed-vertical-flow">389 <div class="card-body ">390 <h3>391 @fag.Item["SkoleFagNavn"]392 </h3>393 <hr>394 <p class="mb-1"><h5 class="d-inline-flex mb-0">Skolefagkode:</h5> @fag.Item["SkoleFagKode"]</p>395 <p class="mb-1"><h5 class="d-inline-flex mb-0">Varighed:</h5> @fag.Item["SkoleFagVarighed"] dage</p>396 <p class="mb-1"><h5 class="d-inline-flex mb-0">Timer pr dag:</h5> @fag.Item["SkoleFagTimerPrDag"]</p>397 <p class="mb-1"><h5 class="d-inline-flex mb-0">Deltagerpris:</h5> @fag.Item["SkoleFagDeltagerpris"] kr.</p>398 <p class="mb-1"><h5 class="d-inline-flex mb-0">Pris for ledige:</h5> @fag.Item["SkoleFagPrisForLedige"] kr.@*(Jobcenteret afholder kursusudgiften, hvis man har ret til 6 ugers jobrettet uddannelse og faget findes på positivlisten)*@</p>399 <p class="mb-1"><h5 class="d-inline-flex mb-0">Pris udenfor AMU-målgruppe:</h5> @fag.Item["SkoleFagPrisUdenforAmuMaalgruppe"] kr.</p>400401 <h5 class="mt-2">Målgruppe</h5>402 <p>403 @fag.Item["SkoleFagMaalgruppe"]404 </p>405 <h5 class="mt-2">Formål</h5>406 <p>407 @fag.Item["SkoleFagFormaal"]408 </p>409 <h5 class="mt-2">Indhold</h5>410 <p>411 @fag.Item["SkoleFagIndhold"]412 </p>413414 </div>415 </div>416 </div>417 </div>418 </div>419 }420 </div>421 </div>422 </div>423 }424 </div>425426 @if ( GetString( "Item.AktivitetHoldDatoer.Value" ) != "" )427 {428 <div class="row">429 <div class="col-12 col-lg-12 col-md-12 is-lg mx-auto">430 <div class="justify-content-center row">431 <div class="col-12 col-lg-12 col-md-12 col-sm-12 col-xl-12 p p-imagetext p-imagetext-tb">432 <div class="row">433 <div class="col-12 p-txt-container">434 <h3 class="mb-2">Holdliste</h3>435 </div>436 </div>437 <div class="row">438 <div class="p col-12 p-card-padding-large p-card p-card-top-bottom p-card-border-thin p-card-shadow-none p-card-hover-disabled p-card-txt-small">439 <div class="card rybners-fag-card e-theme-quaternary border-0">440 <div class="p-txt-container e-text-fixed-vertical-flow">441 <div class="card-body ">442 <p class="mb-1">@GetString( "Item.AktivitetHoldDatoer.Value" )</p>443 </div>444 </div>445 </div>446 </div>447 </div>448449 </div>450 </div>451 </div>452 </div>453 }454455 @if ( GetString( "Item.HoldType.Value" ) == "idv" )456 {457 <div class="row">458 <div class="col-12 col-lg-12 col-md-12 is-lg mx-auto">459 <div class="justify-content-center row">460 <div class="col-12 col-lg-12 col-md-12 col-sm-12 col-xl-12 p p-imagetext p-imagetext-tb">461 <div class="row">462 <div class="col-12 p-txt-container">463 <h3 class="mb-2">Beskrivelse</h3>464 </div>465 </div>466 <div class="row">467 <div class="p col-12 p-card-padding-large p-card p-card-top-bottom p-card-border-thin p-card-shadow-none p-card-hover-disabled p-card-txt-small">468 <div class="card rybners-fag-card e-theme-quaternary border-0">469 <div class="p-txt-container e-text-fixed-vertical-flow">470 <div class="card-body ">471 <p class="mb-1">@GetString( "Item.AktivitetOverordnetBeskrivelse.Value" )</p>472 </div>473 </div>474 </div>475 </div>476 </div>477478 </div>479 </div>480 </div>481 </div>482 }483484 </div>485486487 <div class="col-12 col-lg-6 col-md-6 col-sm-12 col-xl-6 e-theme-tertiary p p-columns p-imagetext-tb">488 <div class="no-gutters row">489 @if ( fagPages != null && fagPages.Any() || GetString( "Item.HoldType.Value" ) == "idv" )490 {491 <div class="border-radius-none col-12 col-lg-12 col-md-12 col-sm-12 col-xl-12 p p-card p-card-border-none p-card-shadow-none p-card-top-bottom p-card-txt-small">492 <div class="card e-theme-kursuscenter-primary">493 <div class="e-text-fixed-vertical-flow p-txt-container">494 <div class="card-body text-center">495 <h3 class="h2">Tilmelding</h3>496 @if ( GetString( "Item.HoldType.Value" ) == "idv" )497 {498 <form class="js-rybners-course-signup-selector" action="@signupRedirect">499 <div class="form-group py-1">500 <select class="form-control rybners-course-form-select js-rybners-course-signup-input">501 <option>Vælg rolle</option>502 <option value="1">503 Betaling via virksomhed (DK)504 </option>505 <option value="2">506 Egenbetaling / IKUF bevilling (DK)507 </option>508 <option value="3">509 Foreigner / Udlænding (English)510 </option>511 </select>512 </div>513 </form>514 <div class="js-rybners-course-signup-container rybners-course-signup-container" data-idv1-formpageid="16547" data-idv2-formpageid="16549" data-idv3-formpageid="16550"></div>515 }516517 else if ( ( string ) holdPage.Item[ "AktivitetOfflineVisning" ] == "amu" )518 {519520 <form class="js-rybners-sign-up-form" action="@signupRedirect">521 <div class="form-group py-1">522 <select class="form-control rybners-course-form-select js-rybners-sign-up-select-input">523 <option>Vælg rolle</option>524 <option value="virksomhed">525 Jeg er i job og tilmelder mig selv eller andre ansatte i min virksomhed526 </option>527 <option value="privatperson">528 Jeg tilmelder mig som privatperson529 </option>530 <option value="ledig">531 Jeg er ledig532 </option>533 <option value="aktoer">534 Jeg er ansat hos et Jobcenter eller anden aktør, og tilmelder en ledig535 </option>536 </select>537 </div>538 <button type="submit" class="btn btn-secondary">Tilmeld</button>539 </form>540541 <div class="mt-4 row text-left">542 <div class="col-12 col-md-6 small">543 <p class="pb-0">Kursets kviknummer: @holdPage.Item[ "HoldKvikNr" ]</p>544 </div>545 <div class="col-12 col-md-6 text-right">546 <p class="pb-0"><strong>@antalPladser</strong></p>547 </div>548 </div>549 }550 else551 {552 <h3 class="py-1">@Translate( "Rybners Course module - Further info contact DA - Text", "Kontakt skolen for yderligere information." )</h3>553 }554 </div>555 </div>556 </div>557 </div>558 }559 @if ( GetString( "Item.HoldType.Value" ) != "idv" )560 {561 <div class="border-radius-none col-12 col-lg-12 col-md-12 col-sm-12 col-xl-12 p p-card p-card-border-none p-card-shadow-none p-card-top-bottom p-card-txt-medium">562 <div class="card e-theme-quaternary">563 <div class="e-text-fixed-vertical-flow p-txt-container">564 <div class="card-body">565 <div class="row">566 <div class="align-self-center col-12 p-txt-container">567568 <h3 class="mb-2">Yderligere holdinformation</h3>569570 <h5 class="d-inline-flex mb-0">Undervisningsform</h5>571 <p>@holdPage.Item["HoldUndervisningsform"]</p>572 <h5 class="d-inline-flex mb-0">Undervisningstid</h5>573 <p>@holdPage.Item["HoldUndervisningstid"]</p>574 <h5 class="d-inline-flex mb-0">Forudsætninger</h5>575 <p>@holdPage.Item["HoldForudsetninger"]</p>576 <h5 class="d-inline-flex mb-0">Beskrivelse</h5>577 <p>@holdPage.Item["HoldBeskrivelse"]</p>578579 </div>580 </div>581 </div>582 </div>583 </div>584 </div>585 }586 @if ( holdId != "0" && GetString( "Item.HoldType.Value" ) != "idv")587 {588 <div class="border-radius-none col-12 col-lg-12 col-md-12 col-sm-12 col-xl-12 p p-card p-card-border-none p-card-shadow-none p-card-top-bottom p-card-txt-medium">589 <div class="card e-theme-quaternary">590 <div class="e-text-fixed-vertical-flow p-txt-container">591 <div class="card-body">592 <div class="row">593 <div class="align-self-center col-12 p-txt-container">594595 <h3>Har du spørgsmål om kurset?</h3>596 <p>@Translate( "Rybners Course module - Further info contactperson DA - Text", "Kontakt os:" )</p>597 <br>598 <p>@holdPage.Item["HoldKontaktperson"]</p>599600 <p>tlf. @holdPage.Item["HoldKontaktTelefon"] <br>601 <br>e-mail: <a href="mailto:@teamEmail">@teamEmail</a>602603 </p>604605 </div>606 <div class="col-12 col-lg-4 col-md-6 order-first order-sm-last p-img-container">607 <div class="row">608 <p class="col-12">609 @*<img alt="" class="p-img rounded-circle" src="/admin/public/getimage.ashx?Image=/Files/Images/IMG_2258_1.jpg&amp;Width=1920&amp;Height=1920&amp;Format=jpg&amp;Quality=75&amp;Crop=0">*@610 </p>611 </div>612 </div>613 </div>614 </div>615 </div>616 </div>617 </div>618 }619620 <div class="border-radius-none col-12 col-lg-12 col-md-12 col-sm-12 col-xl-12 p p-card p-card-border-none p-card-shadow-none p-card-top-bottom p-card-txt-medium">621 <div class="card e-theme-quaternary" style="padding: 3.5em 2em !important;">622 <div class="e-text-fixed-vertical-flow p-txt-container">623 <div class="card-body">624 <div class="row">625 <div class="align-self-center col-12 p-txt-container">626 @if ( courseMainCategoryDefaults != null )627 {628 string systemName = courseMainCategoryDefaults.Item.SystemName;629 string itemId = courseMainCategoryDefaults.Item.Id;630 Item dwItem = Dynamicweb.Services.Items.GetItem( systemName, itemId );631632 IEnumerable< Item > items = Co3.Rybners.Website.Services.RybnersItemService.Instance.GetItemsFromItemListId( dwItem, "TilknyttedeKontaktpersoner" );633634 if ( items != null )635 {636 foreach ( Item contactItem in items.Take( 2 ) )637 {638639 string contactImage = contactItem[ "Image" ].ToString();640 string contactName = contactItem[ "ContactName" ].ToString();641 string contactTitle = contactItem[ "ContactTitle" ].ToString();642 string contactMobile = contactItem[ "ContactMobile" ].ToString();643 string contactDirect = contactItem[ "ContactDirect" ].ToString();644 string contactEmail = contactItem[ "ContactEmail" ].ToString();645 <div class="p p-imagetext p-imagetext-tb col-12 col-sm-12 col-md-12 col-lg-6 col-xl-6 text-center p-contact" style="float: left;">646647 <div class="p-contact-wrapper">648 <div class="p-img-container col-12 order-first mb-3">649 <div class="row">650 <p class="col-12 p-img-width-auto mx-auto">651 <img src="/admin/public/getimage.ashx?Image=@contactImage&amp;Width=1920&amp;Height=1920&amp;Format=jpg&amp;Quality=0&amp;Crop=0" class="p-img rounded-circle" alt="@contactName">652 </div>653 </div>654 <div class="col-12 p-txt-container ">655 <div class="p-txt-wrapper">656 <h3 class="p-contact-name" itemprop="name">@contactName</h3>657 <p class="p-contact-title" itemprop="jobTitle">@contactTitle</p>658 @if ( contactMobile != "" )659 {660 <p class="p-contact-phone" itemprop="telephone"><i class="material-icons">smartphone</i><a href="tel:@contactMobile" class="text-auto">@contactMobile</a></p>661 }662 @if ( contactDirect != "" )663 {664 <p class="p-contact-phone" itemprop="telephone"><i class="material-icons">phone</i><a href="tel:@contactDirect" class="text-auto">@contactDirect</a></p>665 }666 @if ( contactEmail != "" )667 {668 <p class="p-contact-email" itemprop="email"><i class="material-icons">mail</i><a href="mailto:@contactEmail" class="text-auto">@contactEmail</a></p>669 }670 </div>671 </div>672 </div>673 </div>674 }675 }676 }677678679680681682683 </div>684 </div>685 </div>686 </div>687 </div>688 </div>689690691692693 <div aria-hidden="true" class="js-rybners-contact-modal fade modal" tabindex="-1">694 <div class="modal-dialog" role="document">695 <div class="modal-content">696697 <div class="modal-body">698 <button aria-label="Close" class="close" data-dismiss="modal" type="button">699 <span aria-hidden="true">&times;</span>700 </button>701 <h3>@Translate( "Rybners Course module - Inactive contact DA - Text", "Kontakt skolen" )</h3>702 <p class="mb-1">Kontaktperson: @holdPage.Item["HoldKontaktperson"]</p>703 <p class="mb-1">tlf. @holdPage.Item["HoldKontaktTelefon"]704 <br>e-mail: <a href="mailto:@teamEmail">@teamEmail</a>705 </p>706 </div>707 <div class="modal-footer">708 <button class="btn btn-primary" data-dismiss="modal" type="button">Luk</button>709 </div>710 </div>711 </div>712 </div>713 </div>714 </div>715716 </div>717718 @{719 IEnumerable< Page > siblings = ServiceLocator.Current.GetPageService().GetPagesByParentID( PageView.Current().Page.Parent.ID ).Where( p => p.ID != PageView.Current().Page.ID && p.Active );720 IEnumerable< Page > relatedActivity = siblings.Where( s => ItemExtensions.GetValue< int >( s.Item, "HoldAktiId" ) == ( int ) PageView.Current().Page.Item[ "HoldAktiId" ] );721 }722723 @if ( holdId != "0" && relatedActivity.Any() )724 {725726 <div class="col-12">727 <div class="col-12">728 <h2 class="mt-2 mb-2">Yderligere hold</h2>729 <ul class="rybners-course-overview">730 @foreach ( Page coursePage in relatedActivity.Take(4))731 {732 List< Page > fagByRelatedCourse = fagCollection.Where( fc => fc.Item[ "SkoleFagAkti_id" ]?.ToString() != null && fc.Item[ "SkoleFagAkti_id" ].ToString().Split( ',' ).Contains( coursePage.Item["HoldAktiId"]?.ToString() ) )?.ToList();733734 string relatedCourseName = coursePage.Item[ "HoldAktivitetsnavn" ]?.ToString();735 string relatedCourseType = coursePage.Item[ "AktivitetOfflineVisning" ]?.ToString();736737 string relatedCourseStartStr = coursePage.Item[ "HoldStartDato" ]?.ToString();738 DateTime relatedCourseStartDate = new DateTime();739 DateTime.TryParse( relatedCourseStartStr, out relatedCourseStartDate );740741 string relatedCourseEndStr = coursePage.Item[ "HoldSlutDato" ]?.ToString();742 DateTime relatedCourseEndDate = new DateTime();743 DateTime.TryParse( relatedCourseEndStr, out relatedCourseEndDate );744745 string relatedCourseDeadlineStr = coursePage.Item[ "HoldTilmeldingsfrist" ]?.ToString();746 DateTime relatedCourseDeadlineDate = new DateTime();747 DateTime.TryParse( relatedCourseDeadlineStr, out relatedCourseDeadlineDate );748749 string relatedCourseDuration = fagByRelatedCourse.FirstOrDefault()?.Item[ "SkoleFagVarighed" ]?.ToString();750 string relatedCourseUrl = string.Format( "Default.aspx?ID={0}", coursePage.ID );751752 relatedCourseUrl = SearchEngineFriendlyURLs.GetFriendlyUrl( relatedCourseUrl );753754 <li class="d-flex rybners-course-list w-100 align-self-center">755 <div class="course-name">756 <a href="@relatedCourseUrl">757 <h3>@relatedCourseName</h3></a></div>758 <div class="course-type text-center">759760 @if ( relatedCourseType == "amu" )761 {762 <p class="mb-0 font-weight-bold"><i class="material-icons">done</i> AMU-kursus</p>763 }764 else if ( relatedCourseType == "idv" ) {765 <p class="mb-0 font-weight-bold"><i class="material-icons">done</i> IDV-kursus</p>766 }767 else768 {769 <p class="mb-0">@relatedCourseType</p>770 }771 </div>772 @if ( fagByRelatedCourse.Count > 1 )773 {774 <div class="course-date small">Flere fag tilknyttet</div>775 }776 else777 {778 if ( relatedCourseDuration == "1" )779 {780 <div class="relatedCourse-date small">@relatedCourseStartDate.ToString( "dd. MMM yyyy" )<br>Varighed: @relatedCourseDuration dag</div>781 } else if ( relatedCourseDuration == "0" )782 {783 <div class="relatedCourse-date small">@relatedCourseStartDate.ToString( "dd. MMM yyyy" )</div>784 }785 else786 {787 <div class="relatedCourse-date small">@relatedCourseStartDate.ToString( "dd. MMM yyyy" ) - @relatedCourseEndDate.ToString( "dd. MMM yyyy" )<br>Varighed: @relatedCourseDuration dage</div>788 }789 <div class="course-date small">@relatedCourseStartDate.ToString( "dd. MMM yyyy" ) - @relatedCourseEndDate.ToString( "dd. MMM yyyy" )<br>Varighed: @relatedCourseDuration dage</div>790 }791 <div class="course-signup text-right"><a class="btn btn-sm " href="@relatedCourseUrl">@Translate( "Rybners Course module - Signup DA - Button", "Se mere og tilmeld" )</a>792 @if ( fagByRelatedCourse.Count > 1 )793 {794 <br>795 <span class="d-block small text-right"><small>@Translate( "Rybners Course module - Deadline DA - Text", "Tilmeldingsfrist:" ) @relatedCourseDeadlineDate</small></span>796 }797 </div>798 </li>799 }800 </ul>801 </div>802 </div>803 }804 </div>805 </div>806 </div>807 </section>808809810 @*END COURSE CONTENT*@811812 @GetValue("DwContent(dwcontentmain)")813814 </article>815 </main>816817 @RenderingService.Instance.PartialView( "_partials/footer.cshtml", Espresso )818819 @if ( !string.IsNullOrEmpty( GetString( "DwContent(dwcontentsocialmedia)" ) ) )820 {821 <aside id="dwcontentsocialmedia">@GetValue("DwContent(dwcontentsocialmedia)")</aside>822 }823824 @RenderingService.Instance.PartialView( "ecom7/cartv2/step/espresso-cart-msg.cshtml" )825 </div>826827 @RenderingService.Instance.PartialView( "_partials/search.cshtml", Espresso )828829 @RenderingService.Instance.PartialView( "_partials/back-to-top.cshtml", Espresso )830831 @if ( 1 == 2 )832 {833 @GetValue( "DwCookieWarning" )834 }835836837 @{838 if ( GetString( "Item.Area.TekniskSkole.Value" ) == GetString( "DwPageID_2" ) )839 {840 @RenderParagraphContent( GetInteger( "Item.Area.TekniskSkoleSocialeMedier.Value" ) )841 }842 if ( GetString( "Item.Area.Handelsskole.Value" ) == GetString( "DwPageID_2" ) )843 {844 @RenderParagraphContent( GetInteger( "Item.Area.HandelsskoleSocialeMedier.Value" ) )845 }846 if ( GetString( "Item.Area.EUX.Value" ) == GetString( "DwPageID_2" ) )847 {848 @RenderParagraphContent( GetInteger( "Item.Area.EUXSocialeMedier.Value" ) )849 }850 if ( GetString( "Item.Area.Kursuscenter.Value" ) == GetString( "DwPageID_2" ) )851 {852 @RenderParagraphContent( GetInteger( "Item.Area.KursuscenterSocialeMedier.Value" ) )853 }854 if ( GetString( "Item.Area.HHXHandelsgymnasium.Value" ) == GetString( "DwPageID_2" ) )855 {856 @RenderParagraphContent( GetInteger( "Item.Area.HHXHandelsgymnasiumSocialeMedier.Value" ) )857 }858 if ( GetString( "Item.Area.STXAlmentGymnasium.Value" ) == GetString( "DwPageID_2" ) )859 {860 @RenderParagraphContent( GetInteger( "Item.Area.STXAlmentGymnasiumSocialeMedier.Value" ) )861 }862 if ( GetString( "Item.Area.HTXTekniskGymnasium.Value" ) == GetString( "DwPageID_2" ) )863 {864 @RenderParagraphContent( GetInteger( "Item.Area.HTXTekniskGymnasiumSocialeMedier.Value" ) )865 }866 if ( GetString( "Item.Area.HF.Value" ) == GetString( "DwPageID_2" ) )867 {868 @RenderParagraphContent( GetInteger( "Item.Area.HFSocialeMedier.Value" ) )869 }870 }871872 <script async="" src="/Files/Templates/Designs/rybners/_assets/_dist/js/default.js?v=0.0.5"></script>873 </body>874875 @GetValue( "CopyRightNotice" )876 </html>