Exception in template (Designs/600Madeira/_parsed/EventDetail.parsed.cshtml): System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.debbfeeadb.Execute()
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context)
   at RazorEngine.Razor.Parse[T](String razorTemplate, T model, String cacheName)
   at Dynamicweb.Rendering.Template.Output()
@inherits RazorTemplateBase<RazorTemplateModel<Template>> @using System.Text.RegularExpressions; @using System.Web.UI.HtmlControls @{ string designName = GetString("Template:DesignBaseUrl").Replace("/Files/Templates/Designs/", "").Replace("/", ""); }@functions{ public static string GetImage(string sourceString, int imageWidth, int imageHeight, int imageWidthTablet = 0, int imageHeightTablet = 0, int imageWidthMobile = 0, int imageHeightMobile = 0, string imageFormat = "jpg", int imageCompression = 0, int imageCrop = 5, string background = "", string designName = "DesignFolder") { Dynamicweb.Frontend.PageView currentPageview = Dynamicweb.Frontend.PageView.Current(); string currDevice = currentPageview.Device.ToString(), alternativeImage = currentPageview.Area.Item["NoImage"] != null ? currentPageview.Area.Item["NoImage"].ToString() : "/Files/Templates/Designs/"+ designName + "/images/alternativeImage.jpg", widthString = "", heightString = "", getImageFormat = imageFormat != "jpg" ? "&amp;Format=" + imageFormat : "", getImageCompression = imageCompression != 0 ? "&amp;Compression=" + imageCompression : "", bgColor = !string.IsNullOrEmpty(background) ? "&amp;backgroud="+background : ""; int getImageWidth = imageWidth != 0 ? imageWidth : 0, getImageHeight = imageHeight != 0 ? imageHeight : 0; if (currDevice == Dynamicweb.Frontend.PageView.DeviceType.Tablet.ToString()) { getImageWidth = imageWidthTablet != 0 ? imageWidthTablet : getImageWidth; getImageHeight = imageHeightTablet != 0 ? imageHeightTablet : getImageHeight; } else if (currDevice == Dynamicweb.Frontend.PageView.DeviceType.Mobile.ToString()) { getImageWidth = imageWidthMobile != 0 ? imageWidthMobile : getImageWidth; getImageHeight = imageHeightMobile != 0 ? imageHeightMobile : getImageHeight; } if (getImageWidth != 0) { widthString = "&amp;Width=" + getImageWidth; } if (getImageHeight != 0) { heightString = "&amp;Height=" + getImageHeight; } string output = "/Admin/Public/GetImage.ashx?Image=" + sourceString + widthString + heightString + "&amp;altFmImage_path=" + alternativeImage + getImageFormat + getImageCompression + "&amp;Crop=" + imageCrop + bgColor; return output; } } @inherits RazorTemplateBase<RazorTemplateModel<Template>> @using Dynamicweb.Rendering; @helper OgMeta(string designName) { if (string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.Params["ProductID"])) { @SnippetStart("OGMeta")<meta property="og:title" content='@GetString("Title")'> <meta property="og:image" content='@Pageview.GlobalTags.GetTagByName("Global:Request.Scheme").Value.ToString()://@Pageview.GlobalTags.GetTagByName("Global:Request.Host").Value.ToString()/Files/Templates/Designs/@designName/images/logo.png'> <meta property="og:site_name" content='@GetString("Item.Area.CompanyName")'> <meta property="og:url" content='@Pageview.GlobalTags.GetTagByName("Global:Request.Scheme").Value.ToString()://@Pageview.GlobalTags.GetTagByName("Global:Request.Host").Value.ToString()@Pageview.GlobalTags.GetTagByName("Global:Pageview.Url").Value.ToString()'> <meta property="og:description" content='@StripHtml(GetString("Meta.Description"))'> <meta property="og:type" content="article"> <meta property="og:locale" content='@Pageview.GlobalTags.GetTagByName("Global:Area.LongLang").Value.ToString().Replace("-", "_")'> @SnippetEnd("OGMeta") } } @helper HtmlHead(string designName) { string designFolder = GetString("Template:DesignBaseUrl"), websiteLongLang = Pageview.GlobalTags.GetTagByName("Global:Area.LongLang").Value.ToString(), robots = ""; robots = (GetBoolean("Item.Area.DemoBanner") || GetBoolean("Item.Area.NoIndex")) ? CommaSplittedString(robots, "noindex") : ""; robots += (GetBoolean("Item.Area.DemoBanner") || GetBoolean("Item.Area.NoFollow")) ? CommaSplittedString(robots, "nofollow") : ""; <head> <title>@GetValue("Title")</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-scale=1.0, width=device-width, user-scalable=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE"> @if (!string.IsNullOrEmpty(robots)) { <meta name="robots" content="@robots"> } @OgMeta(designName) @RenderSnippet("OGMeta") @GetString("MetaTags") @GetString("CopyRightNotice") @GetString("Stylesheets") @RenderSnippet("outScripts") @GetString("Javascripts") <link rel="shortcut icon" href="@(designFolder)images/favicon.ico" type="image/x-icon"> <link rel="stylesheet" type="text/css" href="/public/aTools.ashx?a=min&amp;f=@(designFolder)css&amp;ex=_bak,ie.css&amp;m=0&amp;c=0"> <script src="/public/aTools.ashx?a=min&amp;f=@(designFolder)js/&amp;ex=_bak,exceptions&amp;out=j&amp;m=0&amp;c=0"></script> <script type="text/javascript" src="https://maps.google.com/maps/api/js?key=AIzaSyDzG55DOvPApZj38mqtN-4h56ZINqudU1k&sensor=false&amp;language=@websiteLongLang"></script> <script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-21645318-7"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-21645318-7'); </script> @SnippetStart("outScripts") @SnippetEnd("outScripts") <!--[if lte IE 9]> <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.1.0/respond.min.js"></script> <script src="@(designFolder)js/libraries/exceptions/01_ie.js"></script> <link href="@(designFolder)less/ie.css" rel="stylesheet" type="text/css" media="screen" /> <![endif]--> <script> @RenderSnippet("jsVariables") @SnippetStart("jsVariables") @SnippetEnd("jsVariables") var obj_pages = { str_login: '@Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Item.Area.Login"))', str_globalTranslates: '@Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Item.Area.GlobalTranslates"))' }, obj_user = { str_state: '@Pageview.User.State' }; $(function () { @UserDoesNotExist() @RenderSnippet("jsOnLoadVariables") @SnippetStart("jsOnLoadVariables") @SnippetEnd("jsOnLoadVariables") @RenderSnippet("jsOnLoad") @SnippetStart("jsOnLoad") @SnippetEnd("jsOnLoad") ProjectApplication.Menu.Init(); ProjectApplication.Menu.MobileOpen(); ProjectApplication.Menu.NavigationTablet(); ProjectApplication.Search.Init(); ProjectApplication.Resize(); }); @*@if(!string.IsNullOrWhiteSpace(GetString("Item.Area.GoogleAnalytics"))) { <text> (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); ga('create', '@GetString("Item.Area.GoogleAnalytics")', 'auto'); ga('send', 'pageview'); </text> }*@ </script> </head> } @helper UserDoesNotExist() { if (Dynamicweb.ExecutingContext.IsFrontEnd() && !Pageview.User.LoggedIn) { if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.Params["Password"]) && !string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.Params["Username"])) { @SnippetStart("jsOnLoad") @:var showLogin = true; @:alert('@Translate("userNotFoundInTheDatabase", "User not found in the database")'); @SnippetEnd("jsOnLoad") } } } @helper Logo(string cssclass, string companyName) { string home = "Default.aspx?ID=" + GetString("DwAreaFirstPageID"); <figure class="@cssclass"> <a href="@home"> <img class="img-responsive hidden-xs" id="logo" src="/Files/Templates/Designs/600Madeira/images/logo.png" alt="@companyName" title="@companyName"> <img class="img-responsive hidden-lg hidden-md hidden-sm" id="logoSmall" src="/Files/Templates/Designs/600Madeira/images/logoSmall.png" alt="@companyName" title="@companyName"> <img class="img-responsive" id="logoFixedMenu" src="/Files/Templates/Designs/600Madeira/images/logo-small.png" alt="@companyName" title="@companyName"> </a> </figure> } @helper DemoBanner() { if (GetBoolean("Item.Area.DemoBanner")) { <div class="demoMode">Demo</div> } } @helper Copyright() { string PrivacyPolicy = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Item.Area.PrivacyPolicy")); <div class="col-xs-12 col-sm-8 col-md-5 pull-right text-center copyright noPadding"> <p>Copyright © @GetString("Item.Area.Copyright")</p> <p class="links"> <span>developed by </span> <a href="http://www.alencastre.net/pt-pt/home.aspx" target="_blank">alencastre.net </a> <span>powered by </span> <a href="http://www.dynamicweb.com" target="_blank">dynamicweb cms </a> <a href="@PrivacyPolicy">@Translate("privacyPolicy", "politica de privacidade")</a> </p> </div> } @functions { private string CommaSplittedString(string CommaSplittedString, string NewString) { if (!string.IsNullOrEmpty(CommaSplittedString)) { CommaSplittedString += ", "; } CommaSplittedString = NewString; return CommaSplittedString; } public static string StripHtml(string source) { return Regex.Replace(source, "<.*?>", string.Empty); } } @{ string device = Pageview.Device.ToString(), titleLogo = GetString("Item.Area.Title_Logo"), logoImage = GetString("Item.Area.LogoImage"), currentAreaID = GetString("DwAreaFirstPageID"), resultsPage = GetString("Item.Area.SearchResults"); //homeOrSubpage = GetString("DwAreaFirstPageID") == GetString("Global:Page.ID") ? "home" : "subpage", //resultsPage = GetString("Item.Area.SearchResults"), //longLang = Pageview.GlobalTags.GetTagByName("Global:Area.LongLang").Value.ToString(), //email = GetString("Item.Area.Email"), //phone = GetString("Item.Area.Phone"), //contactsPage = GetString("Item.Area.Contacts"); resultsPage = System.Text.RegularExpressions.Regex.Replace(resultsPage, ".+ID=", ""); bool bannerAnchorActive = GetBoolean("Item.Area.BannerAnchorActive"), bannerAnchorTarget = GetBoolean("Item.Area.BannerAnchorTarget"); string bannerAnchorName = GetString("Item.Area.BannerAnchorName"), bannerAnchorUrl = GetString("Item.Area.BannerAnchorUrl"); var slideshowOverlay = GetString("Item.Page.SlideshowOverlay"); List<LoopItem> socialMedia = GetLoop("Item.Area.SocialNetWork"), websiteLanguages = GetLoop("WebsiteLanguages"), slideshow = GetLoop("Item.Page.Slideshow"); // logosList = GetLoop("Item.Area.LogosList"); }<!DOCTYPE HTML> <!--[if lt IE 8 ]><html class="ie7" lang="pt-PT"><![endif]--><!--[if IE 8 ]><html class="ie8" lang="pt-PT"><![endif]--><!--[if IE 9 ]><html class="ie9" lang="pt-PT"><![endif]--><!--[if (gt IE 9)|!(IE)]><!--> <html lang="pt-PT"><!--<![endif]--> @HtmlHead(designName) <body> <div class="wrap"> <header class="headerMenu container-fluid noPadding"> @*<h1 class="hidden">@GetString("Title")</h1>*@ <div class="sponsor"> <div class="container"> <div class="ownerWrapper"> <ul class="owner"> <li class="separator"> <figure> <img src="/Files/Templates/Designs/600Madeira/images/sponsor/logo_regiao_madeira.png"> </figure> </li> <li> <figure> <img src="/Files/Templates/Designs/600Madeira/images/sponsor/Logo_secretraria_regional.png"> </figure> </li> </ul> </div> <div class="sponsorBy"> <div class="title"> @Translate("Cofinanciado", "Cofinanciado por:") </div> <ul class="imagesWrapper"> <li> <figure> <img src="/Files/Templates/Designs/600Madeira/images/sponsor/logo_madeira_14-20.png"> </figure> </li> <li> <figure> <img src="/Files/Templates/Designs/600Madeira/images/sponsor/logo_madeira-bandeira.png"> </figure> </li> <li> <figure> <img src="/Files/Templates/Designs/600Madeira/images/sponsor/logo_portugal_2020.png"> </figure> </li> <li> <figure> <img src="/Files/Templates/Designs/600Madeira/images/sponsor/logo_ue.png"> </figure> </li> </ul> </div> </div> </div> <div class="topArea container"> <div class="logo" style="background-image:url('@logoImage')"> <a href="Default.aspx?ID=@currentAreaID" alt="@titleLogo" title="@titleLogo"> </a> </div> <div class="searchLanguagesWrapper pull-right hidden-xs hidden-sm"> <div class="search-form hidden"> <form name="globalSearch" id="globalSearch" method="get" action="/Default.aspx"> <input type="hidden" name="ID" value="@(resultsPage)"> <fieldset> <input type="text" id="searchQuery" name="q" value=""> </fieldset> <input type="submit" value='Pesquisa'> </form> </div> <div class="searchTrigger"> <i class="fa fa-search"></i> </div> <ul> @if (websiteLanguages.Count > 0) { foreach (LoopItem siteLanguage in websiteLanguages) { string pageID = siteLanguage.GetString("ID"); string activeClass = siteLanguage.GetBoolean("IsCurrent") ? "active" : ""; string last = websiteLanguages.IndexOf(siteLanguage) != (websiteLanguages.Count - 1) ? "" : "last"; <li class="selectedLanguage @(last)"> <a href="/Default.aspx?AreaId=@pageID" class="@activeClass"> @siteLanguage.GetString("Culture").Split('-')[0].ToUpper() </a> </li> } } </ul> </div> <div class="menuMobileTrigger hidden-md hidden-lg pull-right"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mobileNavbar" aria-expanded="false" aria-controls="navbar"> <i class="fa fa-bars"></i> </button> </div> </div> <div class="menuAreaContainer hidden-sm hidden-xs noPadding"> <div class="container"> @* Menu *@ @if (!string.IsNullOrEmpty(GetString("DwNavigation(menuMain)"))) { <nav class="navbar navbar-default noPadding"> <div id="navbar" class="navbar-collapse collapse noPadding"> @GetValue("DwNavigation(menuMain)") </div> </nav> } </div> </div> <div class="mobileMenuArea hidden-md hidden-lg"> <nav id="mobileNavbar" class="navbar navbar-default noPadding"> @*<div id="mobileNavbar" class="navbar-collapse collapse noPadding">*@ <ul class="language"> <li> @if (websiteLanguages.Count > 0) { foreach (LoopItem siteLanguage in websiteLanguages) { string pageID = siteLanguage.GetString("ID"); string activeClass = siteLanguage.GetBoolean("IsCurrent") ? "active" : ""; string last = websiteLanguages.IndexOf(siteLanguage) != (websiteLanguages.Count - 1) ? "" : "last"; <a href="/Default.aspx?AreaId=@pageID" class="@activeClass @(last)"> @siteLanguage.GetString("Culture").Split('-')[0].ToUpper() </a> } } </li> </ul> <ul class="search"> <li> <form name="globalSearch" id="globalSearch" method="get" action="/Default.aspx"> <input type="hidden" name="ID" value="@(resultsPage)"> <fieldset> <input type="text" id="searchQuery" name="q" value="" placeholder="@Translate(" mobilesearchplaceholder","pesquisa")"/=""> </fieldset> <button type="submit"> <i class="fa fa-search"></i> </button> </form> </li> </ul> @if (!string.IsNullOrEmpty(GetString("DwNavigation(menuMain)"))) { @GetValue("DwNavigation(mobileMenuMain)") } @*</div>*@ </nav> </div> </header> <div class="pageContent"> @if (slideshow.Any()) { <div id="slideShowContainer" class="container-fluid noPadding"> <ul class="col-xs-12 noPadding"> @foreach (LoopItem slide in slideshow) { string title = slide.GetString("Item.Page.Slideshow.Title"), slideLink = !string.IsNullOrEmpty(slide.GetString("Item.Page.Slideshow.Link")) ? slide.GetString("Item.Page.Slideshow.Link") : "#", text = slide.GetString("Item.Page.Slideshow.Text"), target = slide.GetBoolean("Item.Page.Slideshow.OpenInNewWindow") ? "_blank" : null, video = slide.GetString("Item.Page.Slideshow.Video"), slideshowImage = slide.GetString("Item.Page.Slideshow.Image"), image = GetImage(slideshowImage, 2000, 1000), mobilePositionX = slide.GetString("Item.Page.Slideshow.MobilePositionX") != null && !string.IsNullOrEmpty(slide.GetString("Item.Page.Slideshow.MobilePositionX")) ? slide.GetString("Item.Page.Slideshow.MobilePositionX") : "center", mobilePositionY = slide.GetString("Item.Page.Slideshow.MobilePositionY") != null && !string.IsNullOrEmpty(slide.GetString("Item.Page.Slideshow.MobilePositionY")) ? slide.GetString("Item.Page.Slideshow.MobilePositionY") : "center"; <li id="@video"> @if (!String.IsNullOrEmpty(slideshowImage)) { <figure class="hidden-xs hidden-sm" style="background-image:url('@image')"> @*<img class="img-responsive" alt="@title" src="@image">*@ </figure> <figure class="hidden-lg hidden-md" style="background-image:url('@image'); background-position:@mobilePositionX @mobilePositionY"> @*<img class="img-responsive" alt="@title" src="@image">*@ </figure> if (!string.IsNullOrEmpty(slideshowOverlay)) { <figure class="overlay"> <img class="img-responsive" alt="@title" src="@slideshowOverlay"> </figure> } } @if (!string.IsNullOrEmpty(text)) { <div class="container"> <div class="col-xs-12 col-sm-7 textContainer"> <h2>@title</h2> <div> @text </div> </div> </div> } @if (!String.IsNullOrEmpty(video)) { <div class="iframeWrapper"> <iframe id="bgndVideo" class="player" data-id="@video" frameborder="0" vspace="0" hspace="0" scrolling="auto" allowfullscreen="" src="http://www.youtube.com/embed/@(video)?enablejsapi=true&fs=1&autoplay=0&controls=0&showinfo=0&rel=0"></iframe> </div> } </li> } </ul> @if (bannerAnchorActive) { <div id="bannerAnchor" class=""> <a href="@bannerAnchorUrl" target="@(bannerAnchorTarget?" _blank":"_self")"="" title="@bannerAnchorName" alt="@bannerAnchorName">@bannerAnchorName</a> </div> } </div> } <section id="contentWrapper" class="container-fluid noPadding"> @inherits RazorTemplateBase<RazorTemplateModel<Template>> @using Dynamicweb.Rendering; @{ var modeParams = System.Web.HttpContext.Current.Request["mode"]; bool isVideos = modeParams != null && modeParams.ToString().Equals("videos"); bool isPhotos = modeParams != null && modeParams.ToString().Equals("photos"); bool isMaps = modeParams != null && modeParams.ToString().Equals("maps"); bool isPage = modeParams != null && modeParams.ToString().Equals("page"); var eventIdQS = System.Web.HttpContext.Current.Request["eventId"]; var eventId = eventIdQS != null ? eventIdQS.ToString() : GetString("Item.Id"); var pageView = Dynamicweb.Frontend.PageView.Current(); var item = Dynamicweb.Content.Items.ItemManager.Storage.GetById(Dynamicweb.Base.ChkString(pageView.Area.get_Value("AreaItemType")), Dynamicweb.Base.ChkString(pageView.Area.get_Value("AreaItemId"))); var eventPageRepositoryString = item["EventsRepository"].ToString().Replace("Default.aspx?ID=", ""); var eventPageRepository = 0; Int32.TryParse(eventPageRepositoryString, out eventPageRepository); var allEvents = Dynamicweb.Content.Items.ItemManager.Storage.Open("600AnosMaderiaEventos") .SelectByParentPageId(eventPageRepository, null, true, true).OrderBy(x => x["DateFrom"]).ThenBy(x => x["Sort"]); var nextEvent = allEvents.FirstOrDefault(x => x.Id == eventId); var nextEventIndex = 0; var LabelBtnPhotos = nextEvent["LabelBtnPhotos"] != null ? nextEvent["LabelBtnPhotos"].ToString() : ""; var photosId = nextEvent["Photos"]; var photosItemList = Dynamicweb.Content.Items.ItemList.GetItemListById(Convert.ToInt32(photosId)); var LabelBtnVideos = nextEvent["LabelBtnVideos"] != null ? nextEvent["LabelBtnVideos"].ToString() : ""; var videosId = nextEvent["Videos"]; var videosListItem = Dynamicweb.Content.Items.ItemList.GetItemListById(Convert.ToInt32(videosId)); var LabelBtnMaps = nextEvent["LabelBtnMaps"] != null ? nextEvent["LabelBtnMaps"].ToString() : ""; var mapsId = nextEvent["Maps"]; var mapItem = Dynamicweb.Content.Items.Item.GetItemById("InvestmentPoints", mapsId.ToString()); var mapItemPoints = Dynamicweb.Content.Items.ItemList.GetItemListById(Convert.ToInt32(mapItem["Points"])); var LabelBtnPages = nextEvent["LabelBtnPages"] != null ? nextEvent["LabelBtnPages"].ToString() : ""; var nextEventPageId = nextEvent["Pages"]; var displayEvents = allEvents.Where(x => Convert.ToDateTime(x["DateFrom"]) >= Convert.ToDateTime(nextEvent["DateFrom"]) && x.Id != nextEvent.Id); var baseUrl = System.Web.HttpContext.Current.Request.Url.AbsoluteUri; } <div class="eventDetail"> <div class='container @(isPage?"pageElement":"")'> @if(isMaps) { <div class="mainEventMap"> <div id="eventMapId" class="container-fluid noPadding"></div> </div> } else if(isPage){ <div class="mainEventPage"> @{ string stringPageId = nextEventPageId.ToString(); stringPageId = stringPageId.Replace("Default.aspx?ID=", ""); var pageId = 0; int.TryParse(stringPageId, out pageId); } @if (pageId != 0) { @Dynamicweb.Frontend.PageView.GetPageviewByPageID(pageId).Output() } </div> } else { <div class="mainEvent"> @if (isPhotos && photosItemList != null && photosItemList.Relations != null && photosItemList.Relations.Any()) { foreach (var i in photosItemList.Relations) { Dictionary<string, object> param = new Dictionary<string, object>(); i.SerializeTo(param); var image = param["Image"].ToString(); <div class="eventWrapper" @*style="background-image:url('@image')" *@=""> <img src="@image" class="img-responsive"> </div> } } else if (isVideos && videosListItem != null && videosListItem.Relations != null && videosListItem.Relations.Any()) { foreach (var i in videosListItem.Relations) { Dictionary<string, object> param = new Dictionary<string, object>(); i.SerializeTo(param); var embed = param["Embed"].ToString(); <div class="eventWrapper"> @embed </div> } } else { for (var ae = 0; ae < allEvents.Count(); ae++) { var photosIdEl = allEvents.ElementAt(ae)["Photos"]; var photosItemElList = Dynamicweb.Content.Items.ItemList.GetItemListById(Convert.ToInt32(photosIdEl)); var videosIdEl = allEvents.ElementAt(ae)["Videos"]; var videosListElItem = Dynamicweb.Content.Items.ItemList.GetItemListById(Convert.ToInt32(videosIdEl)); var mapsIdEl = allEvents.ElementAt(ae)["Maps"]; var mapItemEl = Dynamicweb.Content.Items.Item.GetItemById("InvestmentPoints", mapsIdEl.ToString()); var mapItemPoinsEl = Dynamicweb.Content.Items.ItemList.GetItemListById(Convert.ToInt32(mapItemEl["Points"])); var page = allEvents.ElementAt(ae)["Pages"]; var id = allEvents.ElementAt(ae).Id; var baseiurl = System.Text.RegularExpressions.Regex.Replace(System.Web.HttpContext.Current.Request.Url.AbsoluteUri, @"eventId=\d+", ""); var videosUrls = string.Format("{0}eventId={1}&mode=videos", baseiurl, id); var photosUrls = string.Format("{0}eventId={1}&mode=photos", baseiurl, id); var mapsUrls = string.Format("{0}eventId={1}&mode=maps", baseiurl, id); var pageUrl = string.Format("{0}eventId={1}&mode=page",baseiurl, id); nextEventIndex = allEvents.ElementAt(ae).Equals(nextEvent) ? ae : 0; var image = allEvents.ElementAt(ae)["Image"] != null ? allEvents.ElementAt(ae)["Image"].ToString() : ""; bool priceVisible = Convert.ToDouble(allEvents.ElementAt(ae)["Price"]) > 0; <div class="eventWrapper @(allEvents.ElementAt(ae) == nextEvent? " startslide":"starthide")"="" data-index="@ae" style="background-image:url('@image')"> <div class="overlay"> <div class="title"> @allEvents.ElementAt(ae)["Title"] </div> <div class="dateFrom"> @{ var dateTo = allEvents.ElementAt(ae)["DateTo"] != null ? @Convert.ToDateTime(allEvents.ElementAt(ae)["DateTo"]).ToString("d MMMM yyyy") : ""; var dateToPresent = !string.IsNullOrEmpty(dateTo) ? string.Format(" - {0}", dateTo) : ""; } @(Convert.ToDateTime(allEvents.ElementAt(ae)["DateFrom"]).ToString("d MMMM yyyy")) @dateToPresent </div> <div class="local"> @Translate("Local", "Local"): @allEvents.ElementAt(ae)["Local"] </div> <div class="price @(!priceVisible?" pricehidden":"")"=""> @Translate("Price", "Preço"): @(Convert.ToDouble(allEvents.ElementAt(ae)["Price"]) > 0 ? allEvents.ElementAt(ae)["Price"] + "€" : Translate("Free", "Gratuito")) </div> <div class="summary"> <p>@allEvents.ElementAt(ae)["Summary"]</p> </div> <div class="text"> @allEvents.ElementAt(ae)["Detail"] </div> <div class="actions"> <ul> @if (videosListElItem != null && videosListElItem.Relations != null && videosListElItem.Relations.Any()) { var LabelBtnVideosAux = allEvents.ElementAt(ae)["LabelBtnVideos"] != null ? allEvents.ElementAt(ae)["LabelBtnVideos"].ToString() : ""; string videosLabel = !string.IsNullOrEmpty(LabelBtnVideosAux) ? LabelBtnVideosAux : Translate("Videos", "Videos"); <li> <a href="@videosUrls">@videosLabel</a> </li> } @if (photosItemElList != null && photosItemElList.Relations!= null && photosItemElList.Relations.Any()) { var LabelBtnPhotosAux = allEvents.ElementAt(ae)["LabelBtnPhotos"] != null ? allEvents.ElementAt(ae)["LabelBtnPhotos"].ToString() : ""; string photosLabel = !string.IsNullOrEmpty(LabelBtnPhotosAux) ? LabelBtnPhotosAux : Translate("Fotos", "Fotos"); <li> <a href="@photosUrls">@photosLabel</a> </li> } @if (mapItemEl != null && mapItemPoinsEl.Relations.Any()) { var LabelBtnMapsAux = allEvents.ElementAt(ae)["LabelBtnPages"] != null ? allEvents.ElementAt(ae)["LabelBtnPages"].ToString() : ""; string mapsLabel = !string.IsNullOrEmpty(LabelBtnMapsAux) ? LabelBtnMapsAux : Translate("Mapas", "Mapas"); <li> <a href="@mapsUrls">@mapsLabel</a> </li> } @if(page !=null && !string.IsNullOrEmpty(page.ToString())) { var LabelBtnPagesAux = allEvents.ElementAt(ae)["LabelBtnPages"] != null ? allEvents.ElementAt(ae)["LabelBtnPages"].ToString() : ""; string mapsLabel = !string.IsNullOrEmpty(LabelBtnPagesAux) ? LabelBtnPagesAux : Translate("Pages", "Página"); <li data-page="@page"> <a href="@pageUrl">@LabelBtnPagesAux</a> </li> } </ul> </div> <div class="backAction"> <a id="eventBtn_Voltar" href=""><i class="fa fa-angle-double-left" aria-hidden="true"></i></a> </div> </div> </div> } } </div> } </div> @if(!isVideos && !isMaps && !isPhotos && !isPage) { <div class="container"> @foreach (var de in displayEvents) { var dateDisplay = Convert.ToDateTime(de["DateFrom"]).ToString("d-MMM-yyyy").Split('-'); var image = de["Image"]; var summaryText = de["Summary"]; var summary = summaryText != null && !string.IsNullOrEmpty(summaryText.ToString()) ? summaryText.ToString().Length > 256 ? summaryText.ToString().Substring(0, 256) : summaryText.ToString() : ""; var redirectUrl = System.Text.RegularExpressions.Regex.Replace(System.Web.HttpContext.Current.Request.Url.AbsoluteUri, @"eventId=\d+", "eventId=" + de.Id); <div class="nextEvents row"> <div class="dateFrom col-xs-2 noPadding"> <a href="@redirectUrl"> <div class="day"> @dateDisplay[0] </div> <div class="month"> @(dateDisplay[1].ToUpper()) </div> <div class="year"> @dateDisplay[2] </div> </a> </div> <div class="imageContainer col-xs-3" style="background-image:url('@image')"> </div> <div class="text col-xs-6 col-md-7"> <div class="title">@de["Title"]</div> <span class="hidden-xs hidden-sm">@summary</span> </div> <div class="eventUrlDetail"> <a href="@redirectUrl"> </a> </div> </div> } </div> } else { var url = System.Web.HttpContext.Current.Request.Url.AbsoluteUri.Replace("&mode=" + System.Web.HttpContext.Current.Request.Params["mode"], ""); <div class="backAction modeVersion"> <a href="@url"><i class="fa fa-angle-double-left" aria-hidden="true"></i></a> </div> } </div> @*@SnippetStart("jsOnLoad") ProjectApplication.Events.Detail.Init(@nextEventIndex); @SnippetEnd("jsOnLoad")*@ <script> $(function () { ProjectApplication.Events.Detail.Init(@nextEventIndex); }) </script> @{ List<object> gooleMarker = new List<object>(); if (mapItemPoints.Relations.Any()) { foreach(var mi in mapItemPoints.Relations) { Dictionary<string, object> paramMap = new Dictionary<string, object>(); mi.SerializeTo(paramMap); var coordinates = paramMap["Geolocation"].ToString().Replace("{", "").Replace("}", "").Split(','); var lat = coordinates[0].Replace("\"Lat\":", ""); var lng = coordinates[1].Replace("\"Lng\":", ""); var titleMap = paramMap["PointName"]; var description = paramMap["PointDescription"]; gooleMarker.Add(new { marker_latlng = lat+","+lng, marker_title = titleMap, marker_image = System.Web.HttpContext.Current.Request.Url.Scheme.ToString()+"://"+System.Web.HttpContext.Current.Request.Url.Host.ToString()+"/Files/Templates/Designs/600Madeira/images/marker.png", marker_icon = new { image=System.Web.HttpContext.Current.Request.Url.Scheme.ToString() + "://" + System.Web.HttpContext.Current.Request.Url.Host.ToString() + "/Files/Templates/Designs/600Madeira/images/marker.png", width= 50, height= 50, originX= 0, originY= 0, anchorX= 9, anchorY= 27 }, marker_infoText = description }); } } } @if (isMaps) { <script> $(function () { var mapSettings = { template_path: '@System.Web.HttpContext.Current.Request.Url.Scheme.ToString()://@System.Web.HttpContext.Current.Request.Url.Host.ToString()/Files/Templates/Designs/600Madeira', google_initLatLng: '', google_zoom: 16, google_mapId: 'eventMapId', google_fitBounds: false, google_markers: @Newtonsoft.Json.JsonConvert.SerializeObject(gooleMarker) }; ProjectApplication.Items().map(mapSettings); }) </script> } </section> </div> <footer> <div class="container"> <div class="socialLinks"> <ul> @foreach (var s in socialMedia) { var name = s.GetString("Item.Area.SocialNetWork.Name"); var classSocial = s.GetString("Item.Area.SocialNetWork.Class"); var href = s.GetString("Item.Area.SocialNetWork.SocialUrl"); <li class="@classSocial"> <a href="@href" target="_blank" alt="@name" title="@name"> </a> </li> } </ul> <div class="separator"></div> </div> @{ var privatePolitcsPage = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Item.Area.Privacy_Page")); var termsPage = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Item.Area.Terms_Page")); var aboutPage = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Item.Area.About_Page")); } <div class="footerPages"> <ul> <li> <a href="@privatePolitcsPage">@Translate("PrivatePolitcsPage", "Política de privacidade")</a> </li> <li> <a href="@termsPage">@Translate("TermsPage", "Termos de utilização")</a> </li> <li> <a href="@aboutPage">@Translate("AboutPage", "Sobre Nós")</a> </li> </ul> </div> <div class="copyRight"> @{ var copyRighttext = GetString("Item.Area.CopyrightCompany"); var splitted = System.Text.RegularExpressions.Regex.Split(copyRighttext, @"\d+"); } @if (splitted.Length == 2) { <span>@(string.Format("{0} {1}", @splitted[0], DateTime.Now.Year))</span> <span>@splitted[1]</span> } <span class="developBy"> <a href="https://www.alencastre.net"> @Translate("DevelopByAlencastreNET", "Developed by Alencastre.net") </a> </span> </div> </div> </footer> </div> </body> </html> <!-- @Pageview.GlobalTags.GetTagByName("Global:Request.PathAndQuery").Value --> <!-- @Pageview.GlobalTags.GetTagByName("Global:Request.Url").Value -->