Exemplo n.º 1
0
 public function handle($criteria, $data)
 {
     $entity = $this->entityFactory->create($data);
     if ($this->eventManager) {
         $event = $this->eventManager->createEvent('create.pre', $entity, $data);
         $this->eventManager->trigger($event);
     }
     $this->repository->add($entity);
     if ($this->eventManager) {
         $event = $this->eventManager->createEvent('create.post', $entity, $data);
         $this->eventManager->trigger($event);
     }
     return $entity;
 }
Exemplo n.º 2
0
 /**
  * @return EntityInterface
  */
 public function handle($filter, $changes)
 {
     /** @var CriteriaInterface $criteria */
     $criteria = $this->repository->createCriteria($filter);
     $entity = $this->repository->find($criteria);
     if (!$entity) {
         throw new EntityNotFoundException("Entity does not found.");
     }
     if ($this->eventManager) {
         $event = $this->eventManager->createEvent('delete.pre', $entity);
         $this->eventManager->trigger($event);
     }
     $this->repository->remove($entity);
     if ($this->eventManager) {
         $event = $this->eventManager->createEvent('delete.post', $entity);
         $this->eventManager->trigger($event);
     }
     return $entity;
 }