private FeedTabSettings GetTabSettings(FeedListModel model) { return(_centralFeedService .GetAllSettings() .Single(s => s.Type.ToInt() == model.TypeId) .Map <FeedTabSettings>()); }
private IEnumerable <IFeedItem> FilterLatestActivities(IEnumerable <IFeedItem> activities) { var settings = _centralFeedService.GetAllSettings() .Where(s => !s.ExcludeFromLatestActivities) .Select(s => s.Type); var items = activities.Join(settings, item => item.Type.ToInt(), type => type.ToInt(), (item, _) => item); return(items); }
public string AvailableActivityTypes() { return(_centralFeedService .GetAllSettings() .Where(s => !s.ExcludeFromAvailableActivityTypes) .Select(s => (Id: s.Type.ToInt(), Name: s.Type.ToString())) .Select(a => new { a.Id, a.Name }) .OrderBy(el => el.Id) .ToJson()); }
protected virtual FeedListViewModel GetFeedListViewModel(FeedListModel model, List <IFeedItem> filteredItems, Enum centralFeedType) { var take = model.Page * ItemsPerPage; var pagedItemsList = SortForFeed(filteredItems, centralFeedType).Take(take).ToList(); var settings = _centralFeedService .GetAllSettings() .AsList(); var tabSettings = settings .Single(s => s.Type.ToInt() == model.TypeId) .Map <FeedTabSettings>(); return(new FeedListViewModel { Version = _centralFeedService.GetFeedVersion(filteredItems), Feed = GetFeedItems(pagedItemsList, settings), TabSettings = tabSettings, Type = centralFeedType, BlockScrolling = filteredItems.Count < take, FilterState = MapToFilterStateViewModel(model.FilterState) }); }