public async Task <List <AirlineResponse> > Handle(SearchAirlinesQuery request, CancellationToken cancellationToken)
        {
            var airlines = await _airlineRepository.SearchAirlines(request);

            return(airlines == null
                ? null
                : _mapper.Map(airlines));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> SearchAirlines(AirlineRequest request)
        {
            var query  = new SearchAirlinesQuery(request.AirlineSearch);
            var result = await _mediatr.Send(query, new CancellationToken());

            return(result != null
                ? (IActionResult)Ok(result)
                : NotFound(new { Message = $"No airlines were found." }));
        }
Ejemplo n.º 3
0
        public async Task <List <Airline> > SearchAirlines(SearchAirlinesQuery airlinesQuery)
        {
            var client           = _elasticSearchClient.CreateElasticClient(_elasticsearchConfig.Value.Url);
            var airlinesResponse = await client.SearchAsync <Airline>(far =>
                                                                      far.Index(_elasticsearchConfig.Value.AirlineIndex)
                                                                      .Query(q => q
                                                                             .QueryString(qs => qs.Query($"{airlinesQuery.AirlineSearch.ToLower()}*").AnalyzeWildcard(true)))
                                                                      );

            return(airlinesResponse.Documents?.Select(air => new Airline
            {
                Name = air.Name,
                Code = air.Code,
                Country = air.Country
            }).ToList());
        }