Exemplo n.º 1
0
 public function actionGetOptimalPrice($from, $to, $dateStart, $dateEnd, $forceUpdate = true)
 {
     try {
         $dateStart = Event::getFlightFromDate($dateStart);
         $dateEnd = Event::getFlightToDate($dateEnd);
         $fromTo = FlightSearcher::getOptimalPrice($from, $to, $dateStart, false, $forceUpdate);
         $toFrom = FlightSearcher::getOptimalPrice($to, $from, $dateEnd, false, $forceUpdate);
         $fromBack = FlightSearcher::getOptimalPrice($from, $to, $dateStart, $dateEnd, $forceUpdate);
         $response = array('priceTo' => (int) $fromTo, 'priceBack' => (int) $toFrom, 'priceToBack' => (int) $fromBack);
         $this->send($response);
     } catch (Exception $e) {
         $this->sendError(500, $e->getMessage());
     }
 }
Exemplo n.º 2
0
 private function getPriceForCity($cityCode, $forceUpdate)
 {
     try {
         $from = City::getCityByCode($cityCode)->id;
         $to = $this->cityId;
         $dateStart = self::getFlightFromDate($this->startDate);
         $priceTo = FlightSearcher::getOptimalPrice($from, $to, $dateStart, false, $forceUpdate);
         $dateEnd = self::getFlightToDate($this->endDate);
         $priceBack = FlightSearcher::getOptimalPrice($to, $from, $dateEnd, false, $forceUpdate);
         $priceToBack = FlightSearcher::getOptimalPrice($from, $to, $dateStart, $dateEnd, $forceUpdate);
         return min($priceTo + $priceBack, $priceToBack);
     } catch (Exception $e) {
         return 'N/A';
     }
 }