コード例 #1
0
        public FilterDefinition <ArticleData> Filter(FilterDefinition <ArticleData> filter,
                                                     NewsSearchConfiguration config)
        {
            if (!string.IsNullOrWhiteSpace(config.Text))
            {
                return(Builder().And(filter, Builder().Text(config.Text)));
            }

            return(filter);
        }
コード例 #2
0
        public FilterDefinition <ArticleData> Filter(FilterDefinition <ArticleData> filter,
                                                     NewsSearchConfiguration config)
        {
            if (config.Category.HasValue)
            {
                var builder = Builders <ArticleData> .Filter;
                return(builder.And(filter, builder.Eq(data => data.Category, CategoryName(config.Category.Value))));
            }

            return(filter);
        }
コード例 #3
0
ファイル: NewsFilterBuilder.cs プロジェクト: ziachap/OpenFeed
 public FilterDefinition <ArticleData> BuildQuery(NewsSearchConfiguration config)
 {
     return(_filters.Aggregate(FilterDefinition <ArticleData> .Empty,
                               (current, filter) => filter.Filter(current, config)));
 }
コード例 #4
0
 // GET
 public IPaginatedResults <Article> Index(NewsSearchConfiguration config)
 {
     return(_newsService.SearchArticles(config));
 }