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));
        }
Exemplo n.º 2
0
        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));
        }