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); }