protected void Page_Load(object sender, EventArgs e) { System.Text.StringBuilder markupBuilder = new System.Text.StringBuilder(); //Redirect to club home Sitecore.Links.UrlOptions urlOptions = new Sitecore.Links.UrlOptions(); urlOptions.AlwaysIncludeServerUrl = true; urlOptions.AddAspxExtension = false; urlOptions.LanguageEmbedding = LanguageEmbedding.Never; micrositeLanding = micrositeHome.InnerItem.Parent; if (micrositeLanding != null) { club = micrositeLanding.Club.Item; if (club != null) { //Get opening hours if (club.Openinghours.Rendered.Trim() != "") { //add opening hours details markupBuilder.Append(@"<p class=""openingtimes"">"); markupBuilder.Append(club.Openinghours.Rendered); markupBuilder.Append(@"</p>"); openingHours = markupBuilder.ToString(); } //Get address markupBuilder = new System.Text.StringBuilder(); markupBuilder.Append(club.Addressline1.Text); markupBuilder.Append(!String.IsNullOrEmpty(club.Addressline2.Text) ? "<br />" + club.Addressline2.Text : ""); markupBuilder.Append(!String.IsNullOrEmpty(club.Addressline3.Text) ? "<br />" + club.Addressline3.Text : ""); markupBuilder.Append("<br />"); markupBuilder.Append(!String.IsNullOrEmpty(club.Addressline4.Text) ? club.Addressline4.Text + " " : ""); markupBuilder.Append(club.Postcode.Text); Address.Text = markupBuilder.ToString(); //Get Club details ClubName = club.Clubname.Rendered; lng = club.Long.Raw; lat = club.Lat.Raw; //Get timetable link if (micrositeHome.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", MicrositeTimetableItem.TemplateId)) != null) { MicrositeTimetableItem timetableItem = new MicrositeTimetableItem(micrositeHome.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", MicrositeTimetableItem.TemplateId))); MicrositeTimetableLandingItem timetableSectionItem = new MicrositeTimetableLandingItem(timetableItem.InnerItem.Parent); ClubTimetableUrl = Sitecore.Links.LinkManager.GetItemUrl(timetableSectionItem); } else { if (micrositeHome.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableDownloadItem.TemplateId)) != null) { TimetableDownloadItem timetableDownloadItem = new TimetableDownloadItem(micrositeHome.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableDownloadItem.TemplateId))); ClubTimetableUrl = Sitecore.Links.LinkManager.GetItemUrl(timetableDownloadItem); } } //Get enquiries link PageSummaryItem enqForm = new PageSummaryItem(Sitecore.Context.Database.GetItem(ItemPaths.EnquiryForm)); if (enqForm != null) { ClubEnquiriesUrl = enqForm.Url + "?sc_trk=enq&c=" + club.InnerItem.ID.ToShortID(); } //Get Media Items from Widget Container List<FacilityModuleItem> facilities = GetDataSource(micrositeHome.InnerItem); List<MediaItem> mediaItems = new List<MediaItem>(); if (facilities != null) { foreach (FacilityModuleItem facilityModule in facilities) { List<MediaItem> galleryItems = facilityModule.Imagegallery.ListItems.ConvertAll(x => new MediaItem(x)); if (galleryItems != null && galleryItems.Count > 0) { mediaItems.Add(galleryItems[0]); } } } if (mediaItems.Count > 0) { ImageList.DataSource = mediaItems; ImageList.DataBind(); } //Set club last visited User objUser = new User(); if (Session["sess_User"] != null) { objUser = (User)Session["sess_User"]; } objUser.ClubLastVisitedID = club.ClubId.Rendered; Session["sess_User"] = objUser; //Set club last visited cookie //if (objUser.Preferences != null) //{ // if (objUser.Preferences.PersonalisedCookies) // { CookieHelper.AddClubsLastVisitedCookie(CookieKeyNames.ClubLastVisited, club.ClubId.Rendered); // } //} } } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { try { ClubMicrositeLandingItem landing = new ClubMicrositeLandingItem(micrositeTimetable.InnerItem.Axes.SelectSingleItem(String.Format(@"ancestor-or-self::*[@@tid=""{0}""]", ClubMicrositeLandingItem.TemplateId))); currentClub = landing.Club.Item; micrositeTimetableLanding = micrositeTimetable.InnerItem.Parent; //Set Navigation elements List<PageSummaryItem> sectionTimetables = micrositeTimetable.InnerItem.Axes.SelectItems(String.Format("..//*[@@tid='{0}']", MicrositeTimetableItem.TemplateId)).ToList().ConvertAll(x => new PageSummaryItem(x)); sectionTimetables.RemoveAll(x => x.Hidefrommenu.Checked); //Remove all hidden items if (sectionTimetables.Count > 1) { sectionTimetables.First().IsFirst = true; sectionTimetables.Last().IsLast = true; //Set current foreach (PageSummaryItem child in sectionTimetables) { Item current = child.InnerItem.Axes.SelectSingleItem(String.Format("descendant-or-self::*[@@id='{0}']", micrositeTimetable.ID.ToString())); if (current != null) { child.IsCurrent = true; } } SecondLevelElements.DataSource = sectionTimetables; SecondLevelElements.DataBind(); } clubId = currentClub.ClubId.Raw; //timetableType = TimetableTypes.General; timetableType = micrositeTimetable.Type.Rendered; if (micrositeTimetable.Showalert.Checked) { string textToParse = micrositeTimetable.Alerttext.Rendered; Hashtable objTemplateVariables = new Hashtable(); objTemplateVariables.Add("SalesNumber", currentClub.Salestelephonenumber.Rendered); Parser objParser = new Parser(objTemplateVariables); objParser.SetTemplate(textToParse); textToParse = objParser.Parse(); alert = @"<div class=""club-alert-panel""><div class=""club-alert"">" + textToParse + @"</div></div>"; } clubMemberPhone = currentClub.Memberstelephonenumber.Raw != "" ? currentClub.Memberstelephonenumber.Raw : currentClub.Salestelephonenumber.Raw; Item settings = Sitecore.Context.Database.GetItem(ItemPaths.TimetableShared); if (settings != null) { TimetableSharedItem settingsItem = new TimetableSharedItem(settings); TimetableUnavailableHeading.Text = settingsItem.Timetableunavailableheading.Text; TimetableUnavailableMessage.Text = settingsItem.Timetableunavailabletext.Text.Replace("#clubMemberPhone#", clubMemberPhone); } ClassContainer ClubClasses = Utility.GetClubTimetable(clubId); ////Need to lookup the daterange from the timetable //if (Cache[clubId] == null) //{ // //initialise webservice // //mm.virginactive.webservices.virginactive.classtimetable.Service vs = new mm.virginactive.webservices.virginactive.classtimetable.Service(); // mm.virginactive.webservices.virginactive.classtimetable.VA_ClassTimetables vs = new mm.virginactive.webservices.virginactive.classtimetable.VA_ClassTimetables(); // //mm.virginactive.webservices.virginactive.classtimetable.VA_ClassTimetables vs = new mm.virginactive.webservices.virginactive.classtimetable.VA_ClassTimetables(); // ClubClasses = vs.Classes(clubId); // double cacheLiveTime = 20.0; // Double.TryParse(Settings.TimetableCacheMinutes, out cacheLiveTime); // Cache.Insert(clubId, ClubClasses, null, DateTime.Now.AddMinutes(cacheLiveTime), Cache.NoSlidingExpiration); //} //else //Fetch from cache //{ // ClubClasses = (struct_Classes)Cache[clubId]; //} List<Timetable> tempItems = new List<Timetable>(); //Check each Timetable in collection is valid foreach (Timetable item in ClubClasses.Timetables) { if (item.Dayname != null) { tempItems.Add(item); } } if ((tempItems.Count > 0)) { System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); stringBuilder.Append(@"<strong>"); stringBuilder.Append(StringHelper.GenerateDateString(tempItems[0].Date)); stringBuilder.Append(@"</strong> "); stringBuilder.Append(Translate.Text("to")); stringBuilder.Append(@" <strong>"); stringBuilder.Append(StringHelper.GenerateDateString(tempItems[tempItems.Count - 1].Date)); stringBuilder.Append("</strong>"); dateRangeStr = stringBuilder.ToString(); //timetableNameStr = currentItem.PageSummary.DisplayName; //create ajax controls ClubTimetableResult timetableResult = this.Page.LoadControl("~/layouts/virginactive/microsite/MicrositeTimetableResult.ascx") as ClubTimetableResult; ClubTimetableFilter timetableFilter = this.Page.LoadControl("~/layouts/virginactive/microsite/MicrositeTimetableFilter.ascx") as ClubTimetableFilter; timetableResult.ClubId = clubId; timetableResult.Type = timetableType; filterPh.Controls.Add(timetableFilter); resultPh.Controls.Add(timetableResult); } else { ErrorMessage.Visible = true; //hide print button lstIcons.Visible = false; } } catch (Exception ex) { ErrorMessage.Visible = true; //hide print button lstIcons.Visible = false; Log.Error(String.Format("Error retrieving timetable for club {1}: {0}", ex.Message, "Microsite"), this); mm.virginactive.common.EmailMessagingService.ErrorEmailNotification.SendMail(ex); } //Add dynamic content to header HtmlHead head = (HtmlHead)Page.Header; //Add Open Tag if (Session["sess_User"] != null) { User objUser = (User)Session["sess_User"]; if (objUser.Preferences != null) { if (objUser.Preferences.MarketingCookies && objUser.Preferences.MetricsCookies) { head.Controls.Add(new LiteralControl(OpenTagHelper.OpenTagVirginActiveUK)); } } } } }