Ejemplo n.º 1
0
 public function executeReverse(sfWebRequest $request)
 {
     $mis1 = MissionPeer::retrieveByPK($request->getParameter('miss_id'));
     $itine_id = $mis1->getItineraryId();
     $mis2 = MissionPeer::retrieveByPK($request->getParameter('mis2_id'));
     $mis1_legs = MissionLegPeer::getbyDesOrderMissId($request->getParameter('miss_id'));
     $legnumber = 1;
     $comcount = 1;
     $aircount = 1;
     $groundcount = 1;
     foreach ($mis1_legs as $mleg) {
         $type = $mleg->getTransportation();
         switch ($type) {
             case 'air_mission':
                 $mission_leg = new MissionLeg();
                 $mission_leg->setMissionId($mis2->getId());
                 $mission_leg->setLegNumber($legnumber);
                 $mission_leg->setFromAirportId($mleg->getToAirportId());
                 $mission_leg->setToAirportId($mleg->getFromAirportId());
                 $mission_leg->setPassOnBoard(0);
                 $mission_leg->setTransportation('air_mission');
                 $mission_leg->setPrefix('air' . $aircount);
                 $mission_leg->setCancelMissionLeg(1);
                 $mission_leg->save();
                 $aircount++;
                 break;
             case 'ground_mission':
                 $mission_leg = new MissionLeg();
                 $mission_leg->setMissionId($mis2->getId());
                 $mission_leg->setLegNumber($legnumber);
                 $mission_leg->setPassOnBoard(0);
                 $mission_leg->setTransportation('ground_mission');
                 $mission_leg->setGroundOrigin($mleg->getGroundDestination());
                 $mission_leg->setGroundDestination($mleg->getGroundOrigin());
                 $mission_leg->setPrefix('g' . $groundcount);
                 $mission_leg->setCancelMissionLeg(1);
                 $mission_leg->save();
                 $groundcount++;
                 break;
             case 'commercial_mission':
                 $mission_leg = new MissionLeg();
                 $mission_leg->setMissionId($mis2->getId());
                 $mission_leg->setLegNumber($legnumber);
                 $mission_leg->setFlightTime($mleg->getFlightTime());
                 //$mission_leg->setBaggageDesc($request->getParameter('baggage_desc'));
                 //$mission_leg->setBaggageWeight($request->getParameter('baggage_weight'));
                 $mission_leg->setAirlineId($mleg->getAirlineId());
                 $mission_leg->setFundId($mleg->getFundId());
                 $mission_leg->setConfirmCode($mleg->getConfirmCode());
                 $mission_leg->setFlightCost($mleg->getFlightCost());
                 $mission_leg->setCommOrigin($mleg->getCommDest());
                 $mission_leg->setCommDest($mleg->getCommOrigin());
                 $mission_leg->setFlightNumber($mleg->getFlightNumber());
                 $mission_leg->setDeparture($mleg->getDeparture());
                 $mission_leg->setTransportation('commercial_mission');
                 $mission_leg->setPrefix('com' . $comcount);
                 $mission_leg->setCancelMissionLeg(1);
                 $mission_leg->save();
                 $comcount++;
                 break;
         }
         $legnumber++;
     }
     $this->getUser()->setFlash('success', 'Successfully reverse.');
     $this->redirect('itinerary/detail?id=' . $itine_id);
 }