示例#1
0
        public async Task <double> ExecuteAsync(GetAirportDistanceRequest input)
        {
            AirportResponse airport1 = await airportService.GetAirport(input.IATACode1);

            AirportResponse airport2 = await airportService.GetAirport(input.IATACode2);

            return(airportService.CalculateDistance(airport1, airport2));
        }
示例#2
0
        // GET: Airports/Edit/5
        public ActionResult AirportEdit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AirportViewModel airport = Mapper.Map <Airport, AirportViewModel>(_airportService.GetAirport((int)id));

            if (airport == null)
            {
                return(HttpNotFound());
            }
            airport.Cities = _cityService.GetCities();
            return(PartialView(airport));
        }
示例#3
0
        public void Service()
        {
            _airportService = new AirportService(_airportRepository, new AirportSchemeRepository(_dbFactory),
                                                 new CityService(_cityRepository, _unitOfWork), _unitOfWork);
            _cityService = new CityService(_cityRepository, _unitOfWork);

            var airportOld = _airportService.GetAirport(16);
            var city       = _cityService.GetCity(8);

            Console.WriteLine(airportOld.Name + " - " + airportOld.City.Name);

            _airportService.UpdateAirport(airportOld);

            var airportNew = _airportService.GetAirport(16);

            Console.WriteLine(airportNew.Name + " - " + airportNew.City.Name);

            Console.ReadKey();
        }
            public async Task <Result <double> > Handle(GetDistanceBetweenAirportsQuery request,
                                                        CancellationToken cancellationToken)
            {
                var fromTask = Task.Run(() => _airportService.GetAirport(request.From), cancellationToken);
                var toTask   = Task.Run(() => _airportService.GetAirport(request.To), cancellationToken);
                await Task.WhenAll(fromTask, toTask);

                var fromAirport = fromTask.Result;
                var toAirport   = toTask.Result;

                if (fromAirport?.Location == null || toAirport?.Location == null)
                {
                    return(Result.Failure <double>("Couldn't get an additional information about airports."));
                }

                var metersDistance = _distanceService.GetDistanceInMeters(fromAirport.Location, toAirport.Location);
                var miles          = _distanceService.ToMiles(metersDistance);

                return(Result.Success(miles));
            }
示例#5
0
 public Airport GetAirport(Guid id)
 {
     return(airportService.GetAirport(id));
 }