public IEnumerable <VacancySearchResult> Handle(GetVacancySearchResultsQuery query) { var searchResult = _vacancySearcher.Handle(query); var view = searchResult.Vacancies.ToList().Select(v => new VacancySearchResult { Id = v.Id, City = v.City, Title = v.Title, VacancySkills = v.Skills.Select(s => s.Name), TravelTime = searchResult.Distances.FirstOrDefault(d => d.Zipcode == v.Zipcode.Value)?.TravelDistanceInMinutes, AgeInDays = (DateTime.Now - v.CreatedOn).Days, CompanyName = v.Employer.Name, Description = v.Description, ThinkLevel = v.ThinkLevel.Name }).ToList(); CalculateMatchPercentages(searchResult.SplittedTalents, view); return(view); }
public IHttpActionResult Search([FromUri] GetVacancySearchResultsQuery query) { var result = _queryProcessor.Handle(query); return(Ok(new { result })); }