private function addToItinerary($eguide, $spotDetail, $egts) { $itinerary = $this->_em->getRepository('BugglMainBundle:Itinerary')->findOneBy(array('e_guide' => $eguide, 'day_num' => $egts->getDayNum())); if (!$itinerary) { $itinerary = new Itinerary(); $itinerary->setEGuide($eguide); $itinerary->setDayNum($egts->getDayNum()); $this->_em->persist($itinerary); $this->_em->flush(); } $obj = $this->_em->getRepository('BugglMainBundle:ItineraryToSpotDetail')->findOneBy(array('itinerary' => $itinerary, 'spotDetail' => $spotDetail)); if (!$obj) { $lastOrder = $this->_em->getRepository('BugglMainBundle:ItineraryToSpotDetail')->getLastOrderByItineraryAndPeriodOfDay($itinerary, $egts->getPeriodOfDay()); $order = $lastOrder ? (int) $lastOrder[0]->getOrder() + 1 : 1; $obj = new ItineraryToSpotDetail(); $obj->setItinerary($itinerary); $obj->setSpotDetail($spotDetail); $obj->setPeriodOfDay($egts->getPeriodOfDay()); $obj->setOrder($order); $obj->setDateAdded($spotDetail->getDateAdded()); $this->_em->persist($obj); $this->_em->flush(); } }
/** * * function that creates itinerary */ public function createItineraryAction(Request $request) { $slug = $request->get('guide_slug'); $eguide = $this->getDoctrine()->getRepository('BugglMainBundle:EGuide')->findOneBySlug($slug); if (!is_null($eguide)) { $itinerary = new Itinerary(); $itinerary->setEGuide($eguide); $itinerary->setDayNum(1); $em = $this->getDoctrine()->getEntityManager(); $em->persist($itinerary); $em->flush(); // set eguide real_duration $eguide->setRealDuration(1); $em->persist($eguide); $em->flush(); $response = array("message" => "Itinerary successfully created!", "status" => TRUE); return new JsonResponse($response, 200); } $response = array("message" => "An error was encountered when trying to initialize your itinerary!", "status" => FALSE); return new JsonResponse($response, 200); }
private function checkItineraryDayCount($eguide, $daynum) { if ($daynum > 0) { $itinerary = $this->getDoctrine()->getRepository('BugglMainBundle:Itinerary')->findOneBy(array('e_guide' => $eguide, 'day_num' => $daynum)); if (!$itinerary) { // echo 'try and save itinerary'; $itinerary = new Itinerary(); $itinerary->setEGuide($eguide); $itinerary->setDayNum($daynum); $em = $this->getDoctrine()->getEntityManager(); $em->persist($itinerary); $em->flush(); } } }