Exemplo n.º 1
0
 public function moveOperation(Operation $operation, $interval)
 {
     $hookService = $this->container->get($operation->getTriggerHook()->getServices()['entity']);
     $hook = $hookService->getHook($operation);
     if ($hook->getStartDate() !== null) {
         if ($operation->getActivity()->getEqualsOperation() != true) {
             $hook->setStartDate(new \DateTime($hook->getStartDate()->add($interval)->format(\DateTime::ISO8601)));
         } else {
             $hook->setStartDate($operation->getActivity()->getStartDate());
         }
     }
     if ($hook->getEndDate() !== null) {
         if ($operation->getActivity()->getEqualsOperation() != true) {
             $hook->setEndDate(new \DateTime($hook->getEndDate()->add($interval)->format(\DateTime::ISO8601)));
         } else {
             $hook->setEndDate($operation->getActivity()->getEndDate());
         }
     }
     $operation = $hookService->processHook($operation, $hook);
     $this->em->persist($operation);
     $this->em->flush();
     return $operation;
 }