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