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