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>";
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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;

            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 (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)));
                    SectionContainerItem timetableSectionItem = new SectionContainerItem(timetableItem.InnerItem.Axes.SelectSingleItem(String.Format(@"..", SectionContainerItem.TemplateId)));
                    ClubTimetableUrl = Sitecore.Links.LinkManager.GetItemUrl(timetableSectionItem);
                }
                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)));
                        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();
                }

                List<MediaItem> imageList;
                if (!String.IsNullOrEmpty(club.Imagegallery.Raw))
                {
                    imageList = club.Imagegallery.ListItems.ConvertAll(X => new MediaItem(X));
                    ImageList.DataSource = imageList;
                    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
                CookieHelper.AddClubsLastVisitedCookie(CookieKeyNames.ClubLastVisited, club.ClubId.Rendered);

                //Add club name to page title
                string clubNameTitle = String.Format(" - {0}", club.Clubname.Raw);
                clubNameTitle = HtmlRemoval.StripTagsCharArray(clubNameTitle);

                Page.Title = Page.Title + clubNameTitle;

            }
        }
        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 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();
                }
            }
        }