Exemplo n.º 1
0
        public object ComputeFieldValue(IIndexable indexable)
        {
            var indexItem = indexable as SitecoreIndexableItem;

            if (indexItem == null)
            {
                return(null);
            }
            var item = (Sitecore.Data.Items.Item)indexItem.Item;

            if (item == null || item.Template == null)
            {
                return(null);
            }

            if (!item.InheritsTemplate(BaseEventDetailPageItem.TemplateId))
            {
                return(null);
            }

            BaseEventDetailPageItem eventPage = item;

            switch (FieldName)
            {
            case Constants.SolrFields.EventStartDateUtc:
                return(eventPage.GetEventStartDateUtc() ?? DateTime.MinValue);

            case Constants.SolrFields.EventEndDateUtc:
                return(eventPage.GetEventEndDateUtc() ?? DateTime.MinValue);
            }

            return(null);
        }
Exemplo n.º 2
0
        void rptEvents_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
        {
            if (e.IsItem())
            {
                BaseEventDetailPageItem item = (BaseEventDetailPageItem)e.Item.DataItem;

                FieldRenderer frExpertName                = e.FindControlAs <FieldRenderer>("frExpertName");
                FieldRenderer frExpertSubheading          = e.FindControlAs <FieldRenderer>("frExpertSubheading");
                System.Web.UI.WebControls.Image imgExpert = e.FindControlAs <System.Web.UI.WebControls.Image>("imgExpert");
                HyperLink hlEventDetail1 = e.FindControlAs <HyperLink>("hlEventDetail1");
                HyperLink hlEventDetail2 = e.FindControlAs <HyperLink>("hlEventDetail2");
                HyperLink hlEventDetail3 = e.FindControlAs <HyperLink>("hlEventDetail3");
                Literal   litExpertType  = e.FindControlAs <Literal>("litExpertType");
                Literal   litEventDate   = e.FindControlAs <Literal>("litEventDate");

                litEventDate.Text              = item.GetFormattedEventStartDate();
                hlEventDetail1.NavigateUrl     =
                    hlEventDetail2.NavigateUrl = hlEventDetail3.NavigateUrl = item.GetUrl();

                // Expert details
                ExpertDetailPageItem expert = item.Expert.Item;

                if (expert != null)
                {
                    frExpertName.Item  = frExpertSubheading.Item = expert;
                    imgExpert.ImageUrl = expert.GetThumbnailUrl(150, 150);
                    litExpertType.Text = expert.GetExpertType();
                }
            }
        }
Exemplo n.º 3
0
        void rptEvents_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
        {
            if (e.IsItem())
            {
                BaseEventDetailPageItem item = (BaseEventDetailPageItem)e.Item.DataItem;

                FieldRenderer frExpertName                = e.FindControlAs <FieldRenderer>("frExpertName");
                FieldRenderer frExpertSubheading          = e.FindControlAs <FieldRenderer>("frExpertSubheading");
                System.Web.UI.WebControls.Image imgExpert = e.FindControlAs <System.Web.UI.WebControls.Image>("imgExpert");
                HyperLink hlEventDetail   = e.FindControlAs <HyperLink>("hlEventDetail");
                HyperLink hlExpertPicture = e.FindControlAs <HyperLink>("hlExpertPicture");
                Literal   litExpertType   = e.FindControlAs <Literal>("litExpertType");
                Literal   litEventDate    = e.FindControlAs <Literal>("litEventDate");
                //Literal litRSVPText = e.FindControlAs<Literal>("litRSVPText");
                Literal litSkipThisText = e.FindControlAs <Literal>("litSkipThisText");

                //litRSVPText.Text = DictionaryConstants.Community_RSVPButtonText;
                //litSkipThisText.Text = DictionaryConstants.Community_SkipThisButtonText;

                litEventDate.Text           = item.GetFormattedEventStartDate();
                hlEventDetail.NavigateUrl   = item.GetUrl();
                hlExpertPicture.NavigateUrl = item.GetUrl();
                frExpertName.Item           = item;

                // Expert details
                ExpertDetailPageItem expert = item.Expert.Item;

                if (expert != null)
                {
                    imgExpert.ImageUrl = expert.GetThumbnailUrl(150, 150);
                    //litExpertType.Text = expert.GetExpertType();
                }
            }
        }
        protected void rptExpertChat_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.IsItem())
            {
                BaseEventDetailPageItem item = e.Item.DataItem as BaseEventDetailPageItem;

                Sublayout slExpertChat = e.FindControlAs <Sublayout>("slExpertChat");
                slExpertChat.DataSource = item.ID.ToString();
            }
        }
Exemplo n.º 5
0
        void rptEvents_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.IsItem())
            {
                BaseEventDetailPageItem item = (BaseEventDetailPageItem)e.Item.DataItem;

                Sublayout slEventArchive = e.FindControlAs <Sublayout>("slEventArchive");
                slEventArchive.DataSource = item.ID.ToString();
            }
        }
        private void BindContent()
        {
            if (DataSource != null && DataSource.InheritsTemplate(BaseEventDetailPageItem.TemplateId))
            {
                BaseEventDetailPageItem item = (BaseEventDetailPageItem)DataSource;

                EventUrl = item.GetUrl();

                // Field renderers
                frHeading.Item = frSubheading.Item = frPageTitle.Item = item;

                // Expert details
                ExpertDetailPageItem expert = item.Expert.Item;
                if (expert != null)
                {
                    imgExpert.ImageUrl = expert.GetThumbnailUrl(150, 150);
                    litExpertType.Text = expert.GetExpertType();
                }

                // Webinar/chat
                litEventType.Text = item.GetEventType();

                // Time elapsed
                // TODO: consider moving into helper function
                // TODO: verify documentation for display logic
                DateTime?eventDate = item.GetEventStartDateUtc();
                if (eventDate.HasValue)
                {
                    int daysElapsed = (DateTime.UtcNow - eventDate.Value).Days;
                    if (daysElapsed == 0)
                    {
                        // TODO: display something?
                    }
                    else if (daysElapsed <= 30)
                    {
                        litEventDate.Text    = daysElapsed.ToString();
                        litEventSubDate.Text = DictionaryConstants.DaysAgoLabel;
                    }
                    else
                    {
                        litEventDate.Text    = eventDate.Value.ToString("MMM dd");
                        litEventSubDate.Text = eventDate.Value.ToString("yyyy");
                    }
                }
                CommunityRecommendationIcons.MatchingChildrenIds = item.GetMatchingChildrenIds(this.CurrentMember);
            }
        }
        public object ComputeFieldValue(IIndexable indexable)
        {
            var indexItem = indexable as SitecoreIndexableItem;

            if (indexItem == null)
            {
                return(null);
            }
            var item = (Sitecore.Data.Items.Item)indexItem.Item;

            if (item == null)
            {
                return(null);
            }

            // Skip non-events
            if (!item.InheritsTemplate(BaseEventDetailPageItem.TemplateId))
            {
                return(null);
            }

            var  eventPage             = new BaseEventDetailPageItem(item);
            bool fieldMatch            = true;
            CustomTreeListField target = null;

            // Only index the following fields
            switch (FieldName)
            {
            case UnderstoodDotOrg.Common.Constants.SolrFields.EventGrades:
                target = eventPage.Grade;
                break;

            case UnderstoodDotOrg.Common.Constants.SolrFields.EventIssues:
                target = eventPage.ChildIssue;
                break;

            case UnderstoodDotOrg.Common.Constants.SolrFields.EventTopics:
                target = eventPage.ParentInterest;
                break;

            default:
                fieldMatch = false;
                break;
            }

            return(fieldMatch ? GetSelectedItems(target) : null);
        }
        private void BindContent()
        {
            if (DataSource != null && DataSource.InheritsTemplate(BaseEventDetailPageItem.TemplateId))
            {
                BaseEventDetailPageItem item = (BaseEventDetailPageItem)DataSource;

                frPageTitle.Item = item;

                EventUrl          = item.GetUrl();
                litEventDate.Text = item.GetFormattedEventStartDate();

                ExpertDetailPageItem expert = item.Expert.Item;
                if (expert != null)
                {
                    imgThumbnail.ImageUrl = expert.GetThumbnailUrl(150, 150);
                    litExpertType.Text    = expert.GetExpertType();
                }
            }
        }
Exemplo n.º 9
0
        public string GetSubhead(BaseEventDetailPageItem eventItem)
        {
            string subhead = eventItem.EventSubheading.Rendered;

            var    date   = eventItem.EventStartDate.DateTime;
            string month  = date.ToString("MMM");
            string day    = date.ToString("%d");
            string hour   = date.ToString("h:m");
            string period = date.ToString("tt").ToLower();

            int rawDay;

            if (int.TryParse(day, out rawDay))
            {
                day = DataFormatHelper.AddOrdinal(rawDay);
            }

            string result = string.Format("{0} {1} {2} at {3}{4}", subhead, month, day, hour, period);

            return(result);
        }
        void rptEvents_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
        {
            if (e.IsItem())
            {
                BaseEventDetailPageItem item = (BaseEventDetailPageItem)e.Item.DataItem;

                PlaceHolder phLinksCta = e.FindControlAs <PlaceHolder>("phLinksCta");
                phLinksCta.Visible = item.IsUpcoming();

                HyperLink hlExpertImage  = e.FindControlAs <HyperLink>("hlExpertImage");
                HyperLink hlEventDetails = e.FindControlAs <HyperLink>("hlEventDetails");
                HyperLink hlEventTitle   = e.FindControlAs <HyperLink>("hlEventTitle");
                hlExpertImage.NavigateUrl             = hlEventDetails.NavigateUrl
                                                      = hlEventTitle.NavigateUrl = item.GetUrl();

                Literal litEventDate = e.FindControlAs <Literal>("litEventDate");
                litEventDate.Text = item.GetFormattedEventStartDate();

                Literal litEventDatePast = e.FindControlAs <Literal>("litEventDatePast");
                litEventDatePast.Text = item.GetFormattedArchiveEventDate();

                Literal litEventType = e.FindControlAs <Literal>("litEventType");
                litEventType.Text = item.GetEventType();

                FieldRenderer frEventTitle      = e.FindControlAs <FieldRenderer>("frEventTitle");
                FieldRenderer frRsvpLink        = e.FindControlAs <FieldRenderer>("frRsvpLink");
                FieldRenderer frEventHeading    = e.FindControlAs <FieldRenderer>("frEventHeading");
                FieldRenderer frEventSubheading = e.FindControlAs <FieldRenderer>("frEventSubheading");
                frEventTitle.Item = frRsvpLink.Item = frEventHeading.Item = frEventSubheading.Item = item;

                ExpertDetailPageItem expert = item.Expert.Item;
                if (expert != null)
                {
                    System.Web.UI.WebControls.Image imgExpert = e.FindControlAs <System.Web.UI.WebControls.Image>("imgExpert");
                    imgExpert.ImageUrl = expert.GetThumbnailUrl(230, 129);
                }
            }
        }
        private Boolean FilterFound(BaseEventDetailPageItem it, string GradeID, string IssueID, string TopicID)
        {
            bool found = false;

            if (!String.IsNullOrEmpty(GradeID))
            {
                found = it.Grade.ListItems.Where(lItem => lItem.ID.ToString().Equals(GradeID)).Any();
            }

            if (!String.IsNullOrEmpty(IssueID))
            {
                found = it.ChildIssue.ListItems
                        .Where(lItem => lItem.ID.ToString().Equals(IssueID)).Any();
            }

            if (!String.IsNullOrEmpty(TopicID))
            {
                found = it.ParentInterest.ListItems
                        .Where(lItem => lItem.ID.ToString().Equals(TopicID)).Any();
            }

            return(found);
        }
        private void BindContent()
        {
            if (DataSource != null && DataSource.InheritsTemplate(BaseEventDetailPageItem.TemplateId))
            {
                BaseEventDetailPageItem item = (BaseEventDetailPageItem)DataSource;

                hlEventDetail.NavigateUrl = item.GetUrl();
                litEventDate.Text         = item.GetFormattedEventStartDate();

                // Expert details
                ExpertDetailPageItem expert = item.Expert.Item;
                if (expert != null)
                {
                    imgThumbnail.ImageUrl = expert.GetThumbnailUrl(150, 150);

                    // TODO: verify Heading should be tied to expert or actual event page
                    frExpertHeading.Item       = frExpertSubheading.Item = expert.InnerItem;
                    hlExpertDetail.NavigateUrl = expert.GetUrl();
                    litExpertType.Text         = expert.GetExpertType();
                }

                CommunityRecommendationIcons.MatchingChildrenIds = item.GetMatchingChildrenIds(this.CurrentMember);
            }
        }
Exemplo n.º 13
0
 public WebinarEventPageItem(Item innerItem) : base(innerItem)
 {
     _BaseEventDetailPageItem = new BaseEventDetailPageItem(innerItem);
 }
 public LiveChatEventPageItem(Item innerItem) : base(innerItem)
 {
     _BaseEventDetailPageItem = new BaseEventDetailPageItem(innerItem);
 }
Exemplo n.º 15
0
        protected void RepeaterSingleDayEvents_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.IsItem())
            {
                BaseEventDetailPageItem eventToBind = (BaseEventDetailPageItem)e.Item.DataItem;
                bool      IsChatEvent         = eventToBind.InnerItem.TemplateID == Sitecore.Data.ID.Parse(ChatEventPageItem.TemplateId);
                Literal   literalEventUTCTime = (Literal)e.Item.FindControl("literalEventUTCTime");
                HyperLink linkEventDetails    = (HyperLink)e.Item.FindControl("linkEventDetails");
                HyperLink linkEventDate       = (HyperLink)e.Item.FindControl("linkEventDate");
                Sitecore.Web.UI.WebControls.FieldRenderer frRsvpLink      = (Sitecore.Web.UI.WebControls.FieldRenderer)e.Item.FindControl("frRsvpLink");
                Sitecore.Web.UI.WebControls.FieldRenderer frAddToCalendar = (Sitecore.Web.UI.WebControls.FieldRenderer)e.Item.FindControl("frAddToCalendar");
                Literal            literalExpertName   = (Literal)e.Item.FindControl("literalExpertName");
                Literal            literalExpertTitles = (Literal)e.Item.FindControl("literalExpertTitles");
                Image              imageExpert         = (Image)e.Item.FindControl("imageExpert");
                Literal            litExpertType       = e.FindControlAs <Literal>("litExpertType");
                HyperLink          linkExpert          = (HyperLink)e.Item.FindControl("linkExpert");
                HtmlGenericControl itemSingleEvent     = (HtmlGenericControl)e.Item.FindControl("itemSingleEvent");
                PlaceHolder        placeholderLive     = (PlaceHolder)e.Item.FindControl("placeholderLive");

                StringBuilder builderForDateHeading = new StringBuilder();
                builderForDateHeading.Append(String.Format("{0} {1} ", eventToBind.ContentPage.PageTitle.Rendered, DictionaryConstants.AtFragment));
                builderForDateHeading.Append(eventToBind.GetFormattedEventStartTime());
                builderForDateHeading.Append(" ");
                builderForDateHeading.Append(eventToBind.EventStartDate.DateTime.ToString("MMM d, yyyy", CultureInfo.InvariantCulture));
                linkEventDate.Text = builderForDateHeading.ToString();

                var dateToCheck = eventToBind.EventStartDate.DateTime;
                var startDate   = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
                var endDate     = startDate.AddDays(1);
                if (dateToCheck >= startDate && dateToCheck < endDate)
                {
                    itemSingleEvent.Attributes["class"] += " live-event";
                    placeholderLive.Visible              = true;
                }

                literalEventUTCTime.Text     = eventToBind.EventStartDate.DateTime.ToUniversalTime().ToString("htt") + " UTC";
                linkEventDetails.NavigateUrl = linkEventDate.NavigateUrl = eventToBind.GetUrl();
                frRsvpLink.Item = frAddToCalendar.Item = eventToBind;

                ExpertDetailPageItem expertToBind = (ExpertDetailPageItem)eventToBind.Expert.Item;
                if (expertToBind != null)
                {
                    literalExpertName.Text = expertToBind.ExpertName;
                    StringBuilder builderExpertCaption = new StringBuilder();
                    builderExpertCaption.Append(expertToBind.ExpertHeading.Rendered);
                    if (!string.IsNullOrWhiteSpace(expertToBind.ExpertSubheading.Rendered))
                    {
                        builderExpertCaption.AppendLine(",<br />");
                        builderExpertCaption.Append(expertToBind.ExpertSubheading.Rendered);
                    }
                    literalExpertTitles.Text = builderExpertCaption.ToString();

                    imageExpert.ImageUrl      = expertToBind.GetThumbnailUrl(150, 150);
                    imageExpert.AlternateText = expertToBind.ExpertName;
                    linkExpert.NavigateUrl    = expertToBind.GetUrl();
                    litExpertType.Text        = expertToBind.GetExpertType();
                }

                HtmlGenericControl paragraphChatHeading   = (HtmlGenericControl)e.Item.FindControl("paragraphChatHeading");
                HyperLink          linkEventName          = (HyperLink)e.Item.FindControl("linkEventName");
                HyperLink          linkEventNameTruncated = (HyperLink)e.Item.FindControl("linkEventNameTruncated");

                paragraphChatHeading.Visible   = true;
                paragraphChatHeading.InnerText = eventToBind.EventHeading.Raw;
                linkEventName.Text             = eventToBind.ContentPage.PageTitle.Rendered;
                linkEventName.NavigateUrl      = linkEventNameTruncated.NavigateUrl = eventToBind.GetUrl();
                linkEventNameTruncated.Text    = UnderstoodDotOrg.Common.Helpers.TextHelper.TruncateText(
                    System.Web.HttpUtility.HtmlDecode(eventToBind.ContentPage.PageTitle.Raw), 15);
            }
        }