Ejemplo n.º 1
0
        public virtual IEnumerable <IFeedItem> ApplyFilters(IEnumerable <IFeedItem> items, FeedFilterStateModel filterState, FeedSettings settings)
        {
            if (filterState.ShowSubscribed.GetValueOrDefault() && settings.HasSubscribersFilter)
            {
                items = items.Where(i =>
                                    i is ISubscribable subscribable &&
                                    _subscribeService.IsSubscribed(_intranetUserService.GetCurrentUser().Id, subscribable));
            }

            if (filterState.ShowPinned.GetValueOrDefault() && settings.HasPinnedFilter)
            {
                items = items.Where(i => i.IsPinned);
            }

            items = ApplyAdditionalFilters(items);
            return(items);
        }