Example #1
0
 /**
  * Cloture d'un evt : terminé ou annulé (statut 3 ou 4)
  * TODO : use $event->close or $event->cancel
  * 
  * @param Event $event            
  */
 private function closeEvent(Event $event)
 {
     $objectManager = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
     foreach ($event->getChildren() as $child) {
         if ($child->getCategory() instanceof FrequencyCategory) {
             // on termine les évènements fils de type fréquence
             if ($event->getStatus()->getId() == 3) {
                 // date de fin uniquement pour les fermetures
                 $child->setEnddate($event->getEnddate());
             }
             $child->setStatus($event->getStatus());
         } else {
             if ($child->getCategory() instanceof \Application\Entity\AlarmCategory) {
                 // si evt annulé uniquement : on annule toutes les alarmes
                 if ($event->getStatus()->getId() == 4 || $event->getStatus()->getId() == 5) {
                     $child->setStatus($event->getStatus());
                 }
             }
         }
         $objectManager->persist($child);
     }
 }