Ejemplo n.º 1
0
 public function getVirtualInterval(\Club\BookingBundle\Entity\Interval $interval, $date)
 {
     $start = new \DateTime($date->format('Y-m-d') . ' ' . $interval->getStartTime()->format('H:i:s'));
     $end = new \DateTime($date->format('Y-m-d') . ' ' . $interval->getStopTime()->format('H:i:s'));
     $i = new \DateInterval('PT1S');
     $start->add($i);
     $bookings = $this->em->getRepository('ClubBookingBundle:Booking')->getAllBetween($start, $end, $interval->getField());
     if ($bookings) {
         $interval->setBooking($bookings[0]);
     }
     $schedules = $this->em->getRepository('ClubTeamBundle:Schedule')->getAllBetween($start, $end, null, $interval->getField()->getLocation(), $interval->getField());
     if ($schedules) {
         $interval->setSchedule($schedules[0]);
     }
     $plans = $this->em->getRepository('ClubBookingBundle:Plan')->getBetweenByField($interval->getField(), $start, $end);
     if ($plans) {
         $interval->setPlan($plans[0]);
     }
     return $interval;
 }