Esempio n. 1
0
 /**
  * Définie la façon de générer des créneaux à partir d'une plage horaire unique.
  * @param $plageHoraire PlageHoraire La plage horaire en question
  * @param $debut \DateTime Le début du créneau
  * @param $fin \DateTime La fin du créneau
  * @param $em EntityManager L'entity manager pour les modifications
  */
 private function genererCreneaux($plageHoraire, $debut, $fin, $em)
 {
     foreach ($plageHoraire->getBesoinsOrga() as $besoinOrga) {
         if ($besoinOrga->getOrgaHint() == NULL) {
             for ($i = 0; $i < $besoinOrga->getNbOrgasNecessaires(); $i++) {
                 $creneau = new Creneau();
                 $creneau->setDebut($debut);
                 $creneau->setFin($fin);
                 $creneau->setPlageHoraire($plageHoraire);
                 $creneau->setEquipeHint($besoinOrga->getEquipe());
                 $em->persist($creneau);
             }
         } else {
             $creneau = new Creneau();
             $creneau->setDebut($debut);
             $creneau->setFin($fin);
             $creneau->setPlageHoraire($plageHoraire);
             $creneau->setOrgaHint($besoinOrga->getOrgaHint());
             $creneau->setEquipeHint($besoinOrga->getOrgaHint()->getEquipe());
             $em->persist($creneau);
         }
     }
     if ($plageHoraire->getRespNecessaire()) {
         $creneau = new Creneau();
         $creneau->setDebut($debut);
         $creneau->setFin($fin);
         $creneau->setPlageHoraire($plageHoraire);
         $creneau->setOrgaHint($plageHoraire->getTache()->getResponsable());
         $creneau->setEquipeHint($plageHoraire->getTache()->getGroupeTache()->getEquipe());
         $em->persist($creneau);
     }
 }