public List <ChallengeInfoViewModel> Search(ChallengesSearchOptions searchOptions) { var queryParameters = new ChallengeQueryParameters { PageRule = searchOptions.PageRule, IncludeTags = true }; var filterSettingsBuilder = FilterSettingsBuilder <Challenge> .Create(); if (!searchOptions.Keyword.IsNullOrEmpty()) { try { PopulateFilterSettings(filterSettingsBuilder, searchOptions.Keyword); } catch (NoResultsException) { return(new List <ChallengeInfoViewModel>()); } } queryParameters.FilterSettings = filterSettingsBuilder.GetSettings(); var challenges = unitOfWork.GetAll <Challenge>(queryParameters); return(mapper.Map <List <ChallengeInfoViewModel> >(challenges)); }
public void UpdateIndex() { var challenges = challengesUnitOfWork.GetAll <Challenge>(); var searchIndices = mapper.Map <List <ViewModels.SearchIndex> >(challenges); LuceneSearch.AddUpdateLuceneIndex(searchIndices); }
public List <ChallengesDescriptionViewModel> GetChallenges(SortedPageRule sortedPageRule) { Contract.Requires <ArgumentException>(sortedPageRule.IsValid); var queryParameters = new QueryParameters { PageRule = sortedPageRule }; PrepareQueryParameters(queryParameters, sortedPageRule.SortingType); var challenges = unitOfWork.GetAll <Challenge>(queryParameters); return(mapper.Map <List <ChallengesDescriptionViewModel> >(challenges)); }
public List <ChallengeInfoViewModel> Search(ChallengesSearchOptions searchOptions) { var queryParameters = new ChallengeQueryParameters { PageRule = searchOptions.PageRule }; if (!searchOptions.Keyword.IsNullOrEmpty()) { queryParameters.Tags = searchOptions.Keyword.ConvertToList(); } var challenges = unitOfWork.GetAll <Challenge>(queryParameters); return(mapper.Map <List <ChallengeInfoViewModel> >(challenges)); }