예제 #1
0
 /**
  * Loops through locations, calls query method, and then calls db update method
  * 
  * Loops though all locations, and for each query date set when the class was initialized, queries API for car rate, updates database, queries API for hotel rate, and updates database.
  * This takes a long time because of API call limits. 
  * @deprecated For now the update script is setup the way it is so that the most current rates get pushed forward as soon as they're available, it
  * isn't ideal, but some larger decisions about the systems behavior need to be made before this gets addressed.
  */
 private function update_car_and_hotel_rates()
 {
     $airports = $this->locations;
     $dates = $this->queryDates;
     $updateDayNumber = 0;
     //foreach date
     foreach ($dates as $startDate) {
         //foreach airport
         foreach ($airports as $airport => $airportData) {
             //query car rate
             $carRate = $this->get_car_rate($airportData['airport_code'], $startDate);
             //save car rate to database
             $this->dataHandler->update_carhotel_rate($airportData['airport_id'], 'car', $updateDayNumber, $carRate);
             //query hotel rate
             $hotelRates = $this->get_hotel_rate($airportData['airport_code'], $startDate);
             //save hotel rate to database
             $this->dataHandler->update_carhotel_rate($airportData['airport_id'], 'hotel', $updateDayNumber, $hotelRates['min'], $hotelRates['max']);
         }
         $updateDayNumber++;
     }
 }