コード例 #1
0
ファイル: BookingController.php プロジェクト: Eximagen/sochi
 /**
  *
  * @return array
  */
 public function updateAction()
 {
     extract($_POST);
     //     	echo '<pre>';
     //     	print_r($_POST);
     //     	die;
     $booking = new Booking();
     $booking->setIdBooking($id_booking);
     $booking->setEta($eta);
     $booking->setEtaWarehouse($warehouse_eta);
     $booking->setEtd($etd);
     $booking->setTrackingNumber($tracking_number);
     $booking->setNameVessel($vessel_name);
     $booking->setCarrier($carrier);
     $booking->setContainerNumber($container_number);
     $booking->setSize($size);
     $booking->setCartons($cartons);
     $booking->setCubicMeters($bookingCbm);
     $booking->setWeight($bookingWeight);
     $this->getCatalog('BookingCatalog')->beginTransaction();
     try {
         $this->getCatalog('BookingCatalog')->update($booking);
     } catch (Exception $e) {
         echo $e;
         print_r($booking->toArray());
         $this->getCatalog('FolioImportCatalog')->rollBack();
         $this->setFlash('error', $e->getMessage());
         $this->_redirect('folio-import/list');
     }
     try {
         $folioImport = FolioImportQuery::create()->findByPK($id_folio_import);
         $folioImport->setStatus(FolioImport::$Status['Assigned']);
         $this->getCatalog('FolioImportCatalog')->update($folioImport);
     } catch (Exception $e) {
         $this->getCatalog('FolioImportCatalog')->rollBack();
         $this->setFlash('error', $e->getMessage());
         $this->_redirect('folio-import/list');
     }
     $idBooking = $booking->getIdBooking();
     $itineraries = $this->getRequest()->getParam('itineraries');
     foreach ($itineraries as $itinerary) {
         extract($itinerary);
         $myItinerary = new Itinerary();
         $myItinerary->setIdBooking($idBooking);
         $myItinerary->setOrigin($origin);
         $myItinerary->setDestination($destination);
         $myItinerary->setType($type);
         $myItinerary->setDays($days);
         $myItinerary->setEtd($etd);
         $myItinerary->setEta($eta);
         try {
             if (isset($itinerary['idItinerary'])) {
                 if ($itinerary['status'] == 1) {
                     $myItinerary->setIdItinerary($itinerary['idItinerary']);
                     $this->getCatalog('ItineraryCatalog')->update($myItinerary);
                 } else {
                     if ($itinerary['status'] == 0) {
                         $this->getCatalog('ItineraryCatalog')->deleteById($itinerary['idItinerary']);
                     }
                 }
             } else {
                 $this->getCatalog('ItineraryCatalog')->create($myItinerary);
             }
         } catch (Exception $e) {
             $this->setFlash('error', $e);
             $this->_redirect('booking/list');
         }
     }
     $this->setFlash('ok', $this->i18n->_($this->UPDATE_OK));
     $this->getCatalog('BookingCatalog')->commit();
     $this->_redirect('folio-import/list');
 }