Example #1
0
 public function searchAction(Request $request)
 {
     $searchFilter = new SearchFilter();
     $searchFilter->setDate(new \DateTime());
     $test = "kishan";
     $form = $this->createSearchForm($searchFilter);
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $session = $request->getSession();
         $session->set('searchHotel', null);
         $date = $searchFilter->getDate();
         $returnDate = $searchFilter->getReturnDate();
         $tripType = $request->get('tripType');
         $noData = 0;
         if ($tripType == "multicity") {
             $numdays = $searchFilter->getNumdays();
             $multiple = $searchFilter->getMultiple();
             $count = count($multiple);
             $start = $multiple[0]->getLeavingFrom();
             $end = $multiple[$count - 1]->getGoingTo();
             $startDate = $multiple[0]->getDate();
             $endDate = $multiple[$count - 1]->getDate();
             $interval = $endDate->diff($startDate);
             $noDays = $interval->d + 1;
             $resultCollection = array();
             foreach ($multiple as $multicity) {
                 $goingFrom = $multicity->getLeavingFrom();
                 $goingTo = $multicity->getGoingTo();
                 $result = $this->getVehicles($goingFrom, $goingTo);
                 $result = $this->getResultByCars($result, $noDays);
                 $resultCollection[] = $result;
             }
             /*if($start != $end){
                   $result = $this->getResult($end,$start);
                   $result = $this->getResultByCars($result);
                   $resultCollection[]=$result;
               }*/
             $resultSet = $this->getResultSet($resultCollection);
         } elseif ($tripType == "dailyRent") {
             $goingFrom = $searchFilter->getLeavingFrom();
             $goingTo = $searchFilter->getGoingTo();
             $noDays = 0;
             if (!is_null($returnDate)) {
                 $interval = $returnDate->diff($date);
                 $noDays = $interval->d;
             }
             $resultSet = $this->getVehicles($goingFrom, $goingTo);
             $resultSet = $this->getDailyRent($resultSet, $noDays);
         } else {
             $goingFrom = $searchFilter->getLeavingFrom();
             $goingTo = $searchFilter->getGoingTo();
             $noDays = 0;
             if ($tripType == "roundtrip") {
                 $interval = $returnDate->diff($date);
                 $noDays = $interval->d;
             }
             $resultSet = $this->getResult($goingFrom, $goingTo, $noDays, $noData);
             if (count($resultSet) == 0) {
                 $noData = 1;
                 $resultSet = $this->getResult($goingTo, $goingFrom, $noDays, $noData);
             }
         }
         $searchFilter->setTripType($tripType);
         $searchFilter->setNumDays($noDays);
         $session->set('selectedData', $searchFilter);
         $session->set('resultSet', $resultSet);
         $contact = new Contact();
         $contactForm = $this->createContactForm($contact);
         return $this->render('TripBookingEngineBundle:Default:search.html.twig', array('form' => $form->createView(), 'contactForm' => $contactForm->createView(), 'result' => $resultSet, 'tripType' => $tripType));
     }
     return $this->render('TripSiteManagementBundle:Default:index.html.twig', array('form' => $form->createView()));
 }
 /**
  * 
  */
 public function packageSubmitAction(Request $request)
 {
     $session = $request->getSession();
     $preferDate = $request->get('preferDate');
     $preferTime = $request->get('preferTime');
     $numAdult = $request->get('numAdult');
     $selected = $request->get('selected');
     $vehicleIndex = $request->get('vehicleIndex');
     $resultSet = $session->get('resultSet');
     $selectedService = $resultSet[$selected];
     $vehiclePrice = $selectedService->getPrice();
     $selectedVehicle = $vehiclePrice->get($vehicleIndex);
     $selectedService->setPrice(new ArrayCollection(array($selectedVehicle)));
     $searchFilter = new SearchFilter();
     list($d, $m, $y) = explode('/', $preferDate);
     $searchFilter->setDate(new \DateTime("{$y}-{$m}-{$d}"));
     $searchFilter->setTripType('package');
     $searchFilter->setNumDays(1);
     $searchFilter->setNumAdult($numAdult);
     $searchFilter->setPreferTime($preferTime);
     $searchFilter->setPackage($selectedService->getCode());
     $session->set('selectedData', $searchFilter);
     //$session->set('package','JTP01');
     return $this->redirect($this->generateUrl('trip_booking_engine_confirm', array('selected' => $selected)));
 }