public async Task <ActionResult <IEnumerable <GameIndexResponseModel> > > GetBySearchQuery(string searchQuery) { if (searchQuery == string.Empty) { return(BadRequest("Search query is empty")); } var query = new GetGamesBySearchQueryQuery(searchQuery); var response = await _mediator.Send(query); if (response == null) { return(NotFound($"Cannot find game with {searchQuery} query")); } return(Ok(response)); }
public async Task <List <GameIndexResponseModel> > Handle(GetGamesBySearchQueryQuery request, CancellationToken cancellationToken) { IList <Game> games = new List <Game>(); await Task.Run(() => { games = _gamesService.GetAllBySearchQuery(request.SearchQuery).ToList(); }); List <GameIndexResponseModel> response = new List <GameIndexResponseModel>(); foreach (var game in games) { response.Add(_mapper.Map <GameIndexResponseModel>(game)); } return(response); }