public CalculateDistanceBetweenAirportsQueryResult Retrieve(CalculateDistanceBetweenAirportsQuery query)
        {
            var result = new CalculateDistanceBetweenAirportsQueryResult();

            var distancesToSet = new List <DistanceBetweenAirportsDto>();

            var originAirports      = _airportRepository.GetAirportsBySearchString(query.Airport1);
            var destinationAirports = _airportRepository.GetAirportsBySearchString(query.Airport2);

            if (CheckAirports(originAirports, destinationAirports))
            {
                foreach (var origin in originAirports)
                {
                    foreach (var destination in destinationAirports)
                    {
                        var distance = _airportsService.CalculateDistanceBetweenAirports(origin, destination);

                        distancesToSet.Add(AirportConverter.Instance.ToDistanceDto(distance));
                    }
                }
            }

            result.Distances = distancesToSet;

            return(result);
        }