public virtual ActionResult List(FeedListModel model) { var centralFeedType = _centralFeedTypeProvider[model.TypeId]; var items = GetCentralFeedItems(centralFeedType).ToList(); if (IsEmptyFilters(model.FilterState, _feedFilterStateService.CentralFeedCookieExists())) { model.FilterState = GetFilterStateModel(); } var tabSettings = _centralFeedService.GetSettings(centralFeedType); var filteredItems = _centralFeedFilterService.ApplyFilters(items, model.FilterState, tabSettings).ToList(); var currentVersion = _centralFeedService.GetFeedVersion(filteredItems); if (model.Version.HasValue && currentVersion == model.Version.Value) { return(null); } var centralFeedModel = GetFeedListViewModel(model, filteredItems, centralFeedType); var filterState = MapToFilterState(centralFeedModel.FilterState); _feedFilterStateService.SaveFiltersState(filterState); return(PartialView(ListViewPath, centralFeedModel)); }
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 FeedSettings GetTabSettings(bool isGroupFeed, Enum centralFeedType) { return(isGroupFeed ? _groupFeedService.GetSettings(centralFeedType) : _centralFeedService.GetSettings(centralFeedType)); }