public ArticleFilter(ArticleSearchCriteria criteria) { if (!String.IsNullOrEmpty(criteria.Title)) { AddFilter(x => x.Where(a => a.Title.Contains(criteria.Title))); } if (!String.IsNullOrEmpty(criteria.Description)) { AddFilter(x => x.Where(a => a.Title.Contains(criteria.Description))); } if (!String.IsNullOrEmpty(criteria.Author)) { AddFilter(x => x.Where( a => a.Authors.Any(u => u.Email.Contains(criteria.Author) || u.FirstName.Contains(criteria.Author) || u.LastName.Contains(criteria.Author)))); } if (criteria.Disciplines != null) { AddFilter(x => x.Where(a => a.Disciplines.Any( d => criteria.Disciplines.Contains(d.Id)))); } }
public IEnumerable <Article> FindArticles(ArticleSearchCriteria criteria) { var filter = new ArticleFilter(criteria); return(filter.Select(Entities.Articles)); //return criteria.Disciplines != null // ? from article in Entities.Articles // where // article.Title.Contains(criteria.Title) && // article.Text.Contains(criteria.Description) && // (article.Authors.Any(a => // a.Email.Contains(criteria.Author) || // a.FirstName.Contains(criteria.Author) || // a.LastName.Contains(criteria.Author))) && // article.Disciplines.Any(d => criteria.Disciplines.Contains(d.Id)) // orderby article.PostedDate descending // select article // : from article in Entities.Articles // where // article.Title.Contains(criteria.Title) && // article.Text.Contains(criteria.Description) && // (article.Authors.Any(a => // a.Email.Contains(criteria.Author) || // a.FirstName.Contains(criteria.Author) || // a.LastName.Contains(criteria.Author))) // orderby article.PostedDate descending // select article; }
public static ArticleSearchCriteria Map(ArticleSearchViewModel viewModel) { var model = new ArticleSearchCriteria(); model.Title = viewModel.Title ?? String.Empty; model.Description = viewModel.Description ?? String.Empty; model.Author = viewModel.Author ?? String.Empty; model.Disciplines = viewModel.Disciplines != null ? viewModel.Disciplines.Select(x => x.Id) : null; return(model); }
public SearchResult<Article> FindArticles(ArticleSearchCriteria criteria) { return SearchService.FindArticles(criteria); }
public SearchResult <Article> FindArticles(ArticleSearchCriteria criteria) { var articles = context.ArticleStorage.FindArticles(criteria); return(new SearchResult <Article>(articles.ToList())); }