/** * 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); } }