public function onRawEventAdd(NewRawEventEvent $rawEventEvent) { $rawEvent = $rawEventEvent->getRawEvent(); $eventIdentifier = $this->doctrineManager->getRepository('KoalamonIncidentDashboardBundle:EventIdentifier')->findOneBy(['identifier' => $rawEvent->getIdentifier(), 'project' => $rawEventEvent->getProject()]); if (!$eventIdentifier) { $system = $this->doctrineManager->getRepository('KoalamonIncidentDashboardBundle:System')->findOneBy(['identifier' => $rawEvent->getSystem()]); $eventIdentifier = new EventIdentifier(); $eventIdentifier->setIdentifier($rawEvent->getIdentifier()); $eventIdentifier->setSystem($system); $eventIdentifier->setProject($rawEventEvent->getProject()); $this->doctrineManager->persist($eventIdentifier); $this->doctrineManager->flush(); } $rawEventEvent->getEvent()->setEventIdentifier($eventIdentifier); }
private function persistEventCount($count) { $em = $this->getContainer()->get('doctrine')->getManager(); /** @var \Doctrine\ORM\EntityManager $em */ $eventIdentifier = $em->getRepository('KoalamonIncidentDashboardBundle:EventIdentifier')->findOneBy(['identifier' => self::DELETED_EVENT_COUNT_IDENTIFIER_ID]); /** @var EventIdentifier $eventIdentifier */ if ($eventIdentifier) { $eventIdentifier->setEventCount($eventIdentifier->getEventCount() + $count); } else { $eventIdentifier = new EventIdentifier(); $eventIdentifier->setIdentifier(self::DELETED_EVENT_COUNT_IDENTIFIER_ID); $eventIdentifier->setProject($em->getRepository('KoalamonIncidentDashboardBundle:Project')->find(0)); $eventIdentifier->setEventCount($count); } $em->persist($eventIdentifier); $em->flush(); }