示例#1
0
        public async Task <SearchResponse> GetFlightByNumber(AchorFlightSearchRequest request, CancellationToken cancellationToken)
        {
            _validator.Validate(request);
            var response = await _flightEngine.GetFightByNumber(request, cancellationToken);

            return(response);
        }
示例#2
0
        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));
        }
示例#5
0
        public async Task <SearchResponse> GetFightByNumber(AchorFlightSearchRequest request, CancellationToken cancellationToken)
        {
            var response = await _flightAdapter.GetFightByNumber(request, cancellationToken);

            return(response);
        }