Esempio n. 1
0
 function formDestinationFinderResponse($input)
 {
     $list = new Collection();
     $data = json_decode($input, true);
     if (isset($data['FareInfo'])) {
         $fares = $data['FareInfo'];
         foreach ($fares as $fare) {
             $fareInfo = new FareInfo();
             $airPortCode = $fare['DestinationLocation'];
             if ($list->keyExists($airPortCode)) {
                 $fareInfo = $list->getItem($airPortCode);
             } else {
                 $geo = $this->translate($airPortCode);
                 $fareInfo->id = $airPortCode;
                 $fareInfo->coords = new Geo($geo['latitude'], $geo['longitude']);
                 $fareInfo->city = $geo['city'];
                 $fareInfo->currencyCode = $fare['CurrencyCode'];
                 if (isset($fare['DestinationRank'])) {
                     $fareInfo->destinationRank = $fare['DestinationRank'];
                 }
                 if (isset($fare['Theme'])) {
                     $fareInfo->theme = $fare['Theme'];
                 }
                 $list->addItem($fareInfo, $airPortCode);
             }
             $fareObj = new Fare();
             $fareObj->lowestFare = $fare['LowestFare'];
             $fareObj->lowestNonStopFare = $fare['LowestNonStopFare'];
             $fareObj->departureDateTime = $fare['DepartureDateTime'];
             $fareObj->returnDateTime = $fare['ReturnDateTime'];
             $fareInfo->fares[] = $fareObj;
         }
     }
     return json_encode(array_values($list->items));
 }