public FilterDefinition <ArticleData> Filter(FilterDefinition <ArticleData> filter, NewsSearchConfiguration config) { if (!string.IsNullOrWhiteSpace(config.Text)) { return(Builder().And(filter, Builder().Text(config.Text))); } return(filter); }
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); }
public FilterDefinition <ArticleData> BuildQuery(NewsSearchConfiguration config) { return(_filters.Aggregate(FilterDefinition <ArticleData> .Empty, (current, filter) => filter.Filter(current, config))); }
// GET public IPaginatedResults <Article> Index(NewsSearchConfiguration config) { return(_newsService.SearchArticles(config)); }