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))); }