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 FeedListViewModel FeedList(FeedListModel model) { var centralFeedType = _feedTypeProvider[model.TypeId]; var items = model.GroupId.HasValue ? _centralFeedHelper.GetGroupFeedItems(centralFeedType, model.GroupId.Value).ToList() : _centralFeedHelper.GetCentralFeedItems(centralFeedType).ToList(); if (!items.Any()) { return(new FeedListViewModel()); } var tabSettings = GetTabSettings(model.GroupId.HasValue, centralFeedType); var filteredItems = _feedFilterService.ApplyFilters(items, model.FilterState, tabSettings).ToList(); var centralFeedModel = GetFeedListModel(model, filteredItems, centralFeedType); return(centralFeedModel); }