public async Task <SearchResponse> GetFlightByNumber(AchorFlightSearchRequest request, CancellationToken cancellationToken) { _validator.Validate(request); var response = await _flightEngine.GetFightByNumber(request, cancellationToken); return(response); }
public void Validate(AchorFlightSearchRequest input) { var flightNumber = input.FlightNumber as string; if (IsValid(flightNumber) == false) { throw new BadRequestException("BadRequest!"); } }
public async Task <SearchResponse> GetFightByNumber(AchorFlightSearchRequest request, CancellationToken cancellationToken) { var errors = new List <Error>(); var flights = await _flightDataService.GetFlightData(cancellationToken); var flight = flights.Find(x => CompareFlight(x, request.FlightNumber)); if (flight == null) { errors.Add(new Error("1234", "No flight found for specified flight number")); } return(new SearchResponse { Errors = errors, Flight = flight }); }
public async Task <IActionResult> GetFlightByNumber([FromBody] AchorFlightSearchRequest request, CancellationToken cancellationToken) { var response = await _flightService.GetFlightByNumber(request, cancellationToken); return(Ok(response)); }
public async Task <SearchResponse> GetFightByNumber(AchorFlightSearchRequest request, CancellationToken cancellationToken) { var response = await _flightAdapter.GetFightByNumber(request, cancellationToken); return(response); }