protected void clubList_OnItemDataBound(object sender, ListViewItemEventArgs e) { if (e.Item.ItemType == ListViewItemType.DataItem) { ListViewDataItem dataItem = (ListViewDataItem)e.Item; var club = dataItem.DataItem as ClubItem; if (club != null) { //Get club Urls var ltrClubLink = e.Item.FindControl("ltrClubLink") as System.Web.UI.WebControls.Literal; string ClubLinkUrl = ""; if (club.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableItem.TemplateId)) != null) { TimetableItem timetableItem = new TimetableItem(club.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableItem.TemplateId))); if (club.IsPlaceholder.Checked) { Item campaign; if (club.PlaceholderCampaign.Item.TemplateID.ToString() == ClubMicrositeLandingItem.TemplateId) { campaign = club.PlaceholderCampaign.Item.Axes.SelectSingleItem( String.Format("*[@@tid='{0}']", MicrositeHomeItem.TemplateId)); wrappers.VirginActive.PageTemplates.ClubMicrosites.MicrositeTimetableItem micrositeTimetableItem = new wrappers.VirginActive.PageTemplates.ClubMicrosites.MicrositeTimetableItem(campaign.Axes.SelectSingleItem(String.Format(@"descendant::*[@@tid = '{0}']", wrappers.VirginActive.PageTemplates.ClubMicrosites.MicrositeTimetableItem.TemplateId))); ClubLinkUrl = Sitecore.Links.LinkManager.GetItemUrl(micrositeTimetableItem); } } else { SectionContainerItem timetableSectionItem = new SectionContainerItem(timetableItem.InnerItem.Parent); ClubLinkUrl = timetableSectionItem.PageSummary.Url; } } else { if (club.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableDownloadItem.TemplateId)) != null) { TimetableDownloadItem timetableDownloadItem = new TimetableDownloadItem(club.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableDownloadItem.TemplateId))); ClubLinkUrl = timetableDownloadItem.PageSummary.Url; } } if (ClubLinkUrl != "") { ltrClubLink.Text = @"<li><a href=""" + ClubLinkUrl + @"""><span class=""arrow"">" + HtmlRemoval.StripTagsCharArray(club.Clubname.Text) + @"</span></a></li>"; } } } }
protected void ClubList_OnItemDataBound(object sender, ListViewItemEventArgs e) { if (e.Item.ItemType == ListViewItemType.DataItem) { ListViewDataItem dataItem = (ListViewDataItem)e.Item; var club = dataItem.DataItem as Club; if (club != null) { //Lookup if Club is classic or not! //Classic overrides Esporta if (club.IsClassic) { var ClassicClubFlag = e.Item.FindControl("ClassicClubFlag") as System.Web.UI.WebControls.Literal; if (ClassicClubFlag != null) { ClassicClubFlag.Text = String.Format(@"<span>{0}</span> {1}", Translate.Text("by"), Translate.Text("VIRGIN ACTIVE CLASSIC")); } } else if (club.ClubItm.GetCrmSystem() == ClubCrmSystemTypes.ClubCentric) //Set Esporta Flag { var EsportaFlag = e.Item.FindControl("EsportaFlag") as System.Web.UI.WebControls.Literal; if (EsportaFlag != null) { EsportaFlag.Text =String.Format( @"<span>{0}</span> ESPORTA", Translate.Text("Previously")); } } //Get address var Address = e.Item.FindControl("Address") as System.Web.UI.WebControls.Literal; if (Address != null) { System.Text.StringBuilder markupBuilder; markupBuilder = new System.Text.StringBuilder(); //Check locality of address can be displayed all on one line if (club.ClubItm.Addressline1.Text.Length + club.ClubItm.Addressline2.Text.Length + club.ClubItm.Addressline3.Text.Length < Settings.MaxNumberOfCharactersInSearchResultsList) { markupBuilder.Append(club.ClubItm.Addressline1.Text); markupBuilder.Append(!String.IsNullOrEmpty(club.ClubItm.Addressline2.Text) ? " " + club.ClubItm.Addressline2.Text : ""); markupBuilder.Append(!String.IsNullOrEmpty(club.ClubItm.Addressline3.Text) ? " " + club.ClubItm.Addressline3.Text : ""); markupBuilder.Append("<br />"); markupBuilder.Append(!String.IsNullOrEmpty(club.ClubItm.Addressline4.Text) ? club.ClubItm.Addressline4.Text + " " : ""); markupBuilder.Append(club.ClubItm.Postcode.Text); } else { markupBuilder.Append(club.ClubItm.Addressline1.Text); markupBuilder.Append(!String.IsNullOrEmpty(club.ClubItm.Addressline2.Text) ? " " + club.ClubItm.Addressline2.Text : ""); markupBuilder.Append("<br />"); markupBuilder.Append(!String.IsNullOrEmpty(club.ClubItm.Addressline3.Text) ? club.ClubItm.Addressline3.Text + " " : ""); markupBuilder.Append(!String.IsNullOrEmpty(club.ClubItm.Addressline4.Text) ? club.ClubItm.Addressline4.Text + " " : ""); markupBuilder.Append(club.ClubItm.Postcode.Text); } Address.Text = markupBuilder.ToString(); } //Get club Urls var ltrClubImageLink = e.Item.FindControl("ltrClubImageLink") as System.Web.UI.WebControls.Literal; var ltrClubTitleLink = e.Item.FindControl("ltrClubTitleLink") as System.Web.UI.WebControls.Literal; var ltrClubCTALink = e.Item.FindControl("ltrClubCTALink") as System.Web.UI.WebControls.Literal; var ltrClubLinks = e.Item.FindControl("ltrClubLinks") as System.Web.UI.WebControls.Literal; string ClubLinkUrl = new PageSummaryItem(club.ClubItm.InnerItem).Url; Boolean IsCampaignPlaceholder = false; if (club.ClubItm.IsPlaceholder.Checked == true) { Item campaign; if (club.ClubItm.PlaceholderCampaign.Item.TemplateID.ToString() == ClubMicrositeLandingItem.TemplateId) { campaign = club.ClubItm.PlaceholderCampaign.Item.Axes.SelectSingleItem( String.Format("*[@@tid='{0}']", MicrositeHomeItem.TemplateId)); } else { //redirect to campaign campaign = club.ClubItm.PlaceholderCampaign.Item; } if (campaign != null) { //UrlOptions opt = new UrlOptions(); //opt.AddAspxExtension = false; //opt.LanguageEmbedding = LanguageEmbedding.Never; //opt.AlwaysIncludeServerUrl = true; //ClubLinkUrl = LinkManager.GetItemUrl(campaign, opt); IsCampaignPlaceholder = true; } } ltrClubImageLink.Text = @"<a href=""" + ClubLinkUrl + @""">" + club.ClubItm.Clubimage.RenderCrop("180x120") + @"</a>"; ltrClubTitleLink.Text = @"<a href=""" + ClubLinkUrl + @""">" + club.ClubItm.Clubname.Text + @"</a>"; ltrClubCTALink.Text = @"<a href=""" + ClubLinkUrl + @""" class=""btn btn-cta"">" + "Visit club page" + @"</a>"; List<string> links = new List<string>(); if (IsCampaignPlaceholder == false) { if (club.ClubItm.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableItem.TemplateId)) != null) { TimetableItem timetableItem = new TimetableItem(club.ClubItm.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableItem.TemplateId))); //var TimetableLink = e.Item.FindControl("TimetableLink") as System.Web.UI.WebControls.Literal; //TimetableLink.Text = @"<a href=""" + Sitecore.Links.LinkManager.GetItemUrl(timetableItem) + @""" title=""" + Translate.Text("Timetables") + @""">" + Translate.Text("Timetables") + @"</a>"; links.Add(@"<a href=""" + Sitecore.Links.LinkManager.GetItemUrl(timetableItem) + @""" title=""" + Translate.Text("Timetables") + @""">" + Translate.Text("Timetables") + @"</a>"); } else { if (club.ClubItm.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableDownloadItem.TemplateId)) != null) { TimetableDownloadItem timetableDownloadItem = new TimetableDownloadItem(club.ClubItm.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", TimetableDownloadItem.TemplateId))); //var TimetableLink = e.Item.FindControl("TimetableLink") as System.Web.UI.WebControls.Literal; //TimetableLink.Text = @"<a href=""" + Sitecore.Links.LinkManager.GetItemUrl(timetableDownloadItem) + @""" title=""" + Translate.Text("Timetables") + @""">" + Translate.Text("Timetables") + @"</a>"; links.Add(@"<a href=""" + Sitecore.Links.LinkManager.GetItemUrl(timetableDownloadItem) + @""" title=""" + Translate.Text("Timetables") + @""">" + Translate.Text("Timetables") + @"</a>"); } } if (club.ClubItm.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", ClubMembershipLandingItem.TemplateId)) != null) { ClubMembershipLandingItem membershipItem = new ClubMembershipLandingItem(club.ClubItm.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", ClubMembershipLandingItem.TemplateId))); //var MembershipLink = e.Item.FindControl("MembershipLink") as System.Web.UI.WebControls.Literal; if (IsCampaignPlaceholder == false) { //MembershipLink.Text = @"<a href=""" + Sitecore.Links.LinkManager.GetItemUrl(membershipItem) + @""" title=""" + Translate.Text("Membership Options") + @""">" + Translate.Text("Membership Options") + @"</a>"; links.Add(@"<a href=""" + Sitecore.Links.LinkManager.GetItemUrl(membershipItem) + @""" title=""" + Translate.Text("Membership Options") + @""">" + Translate.Text("Membership Options") + @"</a>"); } } } else if (club.ClubItm.PlaceholderCampaign.Item.TemplateID.ToString() == ClubMicrositeLandingItem.TemplateId) { ClubMicrositeLandingItem microsite = new ClubMicrositeLandingItem(club.ClubItm.PlaceholderCampaign.Item); wrappers.VirginActive.PageTemplates.ClubMicrosites.MicrositeTimetableItem timetableItem = new wrappers.VirginActive.PageTemplates.ClubMicrosites.MicrositeTimetableItem(microsite.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant::*[@@tid = '{0}']", wrappers.VirginActive.PageTemplates.ClubMicrosites.MicrositeTimetableItem.TemplateId))); links.Add(@"<a href=""" + Sitecore.Links.LinkManager.GetItemUrl(timetableItem) + @""" title=""" + Translate.Text("Timetables") + @""">" + Translate.Text("Timetables") + @"</a>"); wrappers.VirginActive.PageTemplates.ClubMicrosites.MembershipItem membershipItem = new wrappers.VirginActive.PageTemplates.ClubMicrosites.MembershipItem(microsite.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant::*[@@tid = '{0}']", wrappers.VirginActive.PageTemplates.ClubMicrosites.MembershipItem.TemplateId))); links.Add(@"<a href=""" + Sitecore.Links.LinkManager.GetItemUrl(membershipItem) + @""" title=""" + Translate.Text("Membership Options") + @""">" + Translate.Text("Membership Options") + @"</a>"); } else { ClubMembershipLandingItem membershipItem = new ClubMembershipLandingItem(club.ClubItm.InnerItem.Axes.SelectSingleItem(String.Format(@"descendant-or-self::*[@@tid = '{0}']", ClubMembershipLandingItem.TemplateId))); //var MembershipLink = e.Item.FindControl("MembershipLink") as System.Web.UI.WebControls.Literal; //MembershipLink.Text = @"<a href=""" + ClubLinkUrl + "?page=Interested" + @""" title=""" + Translate.Text("Membership Options") + @""">" + Translate.Text("Membership Options") + @"</a>"; links.Add(@"<a href=""" + Sitecore.Links.LinkManager.GetItemUrl(membershipItem) + @""" title=""" + Translate.Text("Membership Options") + @""">" + Translate.Text("Membership Options") + @"</a>"); } System.Text.StringBuilder linkBuilder; linkBuilder = new System.Text.StringBuilder(); int j = 0; foreach(string link in links) { if (j == 0) { linkBuilder.Append(@"<li class=""club-link-first"">"); } else { linkBuilder.Append(@"<li class=""club-link"">"); } linkBuilder.Append(link); linkBuilder.Append("</li>"); j++; } ltrClubLinks.Text = linkBuilder.ToString(); } } }