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;
        }
        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;
        }
public WebinarEventPageItem(Item innerItem) : base(innerItem)
{
	_BaseEventDetailPageItem = new BaseEventDetailPageItem(innerItem);

}
public LiveChatEventPageItem(Item innerItem) : base(innerItem)
{
	_BaseEventDetailPageItem = new BaseEventDetailPageItem(innerItem);

}