public IEnumerable <ActivityFeedTabModel> GetTabs(IPublishedContent currentPage) { yield return(GetMainFeedTab(currentPage)); var allActivityTypes = _activityTypeProvider.All; foreach (var content in _contentProvider.GetRelatedPages()) { var tabType = GetFeedTabType(content); var activityType = allActivityTypes.SingleOrDefault(a => a.ToInt() == tabType.ToInt()); if (activityType == null) { continue; } var settings = _centralFeedService.GetSettings(tabType); yield return(new ActivityFeedTabModel { Content = content, Type = tabType, HasSubscribersFilter = settings.HasSubscribersFilter, HasPinnedFilter = settings.HasPinnedFilter, IsActive = content.IsAncestorOrSelf(currentPage), Links = _feedLinkService.GetCreateLinks(tabType) }); } }
private bool IsSubPage(IPublishedContent page) => _contentProvider.GetRelatedPages().Any(c => c.IsAncestorOrSelf(page));