public function isAttend(\Club\TeamBundle\Entity\Schedule $schedule) { foreach ($this->getSchedules() as $sch) { if ($schedule->getId() == $sch->getSchedule()->getId()) { return true; } } return false; }
private function copyParent(\Club\TeamBundle\Entity\Schedule $old, \Club\TeamBundle\Entity\Schedule $schedule) { $em = $this->getDoctrine()->getManager(); $schedule->setSchedule(null); $rep = new \Club\TeamBundle\Entity\Repetition(); $rep->setType($old->getRepetition()->getType()); $rep->setFirstDate($old->getRepetition()->getFirstDate()); $rep->setLastDate($old->getRepetition()->getLastDate()); $rep->setEndOccurrences($old->getRepetition()->getEndOccurrences()); $rep->setRepeatEvery($old->getRepetition()->getRepeatEvery()); $rep->setDaysInWeek($old->getRepetition()->getDaysInWeek()); $rep->setDayOfMonth($old->getRepetition()->getDayOfMonth()); $rep->setWeek($old->getRepetition()->getWeek()); $rep->setSchedule($schedule); $em->persist($rep); $schedule->setRepetition($rep); $em->persist($schedule); return $schedule; }
private function deleteBetween(\DateTime $start, \Club\TeamBundle\Entity\Schedule $schedule, \DateTime $end = null) { $parent = $schedule->getSchedule() ? $schedule->getSchedule() : $schedule; $qb = $this->em->createQueryBuilder()->delete('ClubTeamBundle:Schedule', 's')->where('s.schedule = :id')->andWhere('s.first_date > :first')->setParameter('first', $start->format('Y-m-d H:i:s'))->setParameter('id', $parent->getId()); if (isset($end)) { $qb->andWhere('s.first_date < :end')->setParameter('end', $end->format('Y-m-d H:i:s')); } $qb->getQuery()->getResult(); return true; }
protected function deleteAll(\Club\TeamBundle\Entity\Schedule $schedule) { $em = $this->getDoctrine()->getManager(); $parent = $schedule->getSchedule() ? $schedule->getSchedule() : $schedule; $repetition = $parent->getRepetition(); $repetition->setSchedule(null); $em->persist($repetition); $em->flush(); $em->createQueryBuilder()->delete('ClubTeamBundle:Schedule', 's')->where('(s.id = :id OR s.schedule = :id)')->setParameter('id', $parent->getId())->getQuery()->execute(); $em->remove($repetition); $em->flush(); return true; }
public function getPrevSchedule(\Club\TeamBundle\Entity\Schedule $schedule) { $parent = $schedule->getSchedule() ? $schedule->getSchedule() : $schedule; return $this->_em->createQueryBuilder()->select('s')->from('ClubTeamBundle:Schedule', 's')->where('s.first_date <= :date')->andWhere('(s.id = :id OR s.schedule = :id)')->setMaxResults(1)->orderBy('s.first_date', 'DESC')->setParameter('date', date('Y-m-d H:i:s'))->setParameter('id', $parent->getId())->getQuery()->getSingleResult(); }