public async Task <IActionResult> Lookup([FromQuery] string searchTerm) { try { var request = new VocabularyLookupRequestModel { SearchTerm = searchTerm }; var results = await _vocabularySearchService.Lookup(request); return(Ok(results)); } catch (Exception ex) { return(LogAndCreateErrorResponse(ex, $"An error occurred attempting to look up vocabulary. Search Term: {searchTerm}")); } }
public async Task <IEnumerable <VocabularyLookupResponseModel> > Lookup(VocabularyLookupRequestModel request) { var results = await _terms .Where(t => EF.Functions.Like(t.SearchTerm, $"{request.SearchTerm}%")) .OrderBy(t => t.Term) .Take(10) .ToListAsync(); var list = results.ConvertAll(t => new VocabularyLookupResponseModel { SearchTerm = t.SearchTerm, Term = t.Term }); return(list); }