/** * Save activity by workflow * * @param ActivityInterface $object */ public function saveActivityByObject(ActivityInterface $object) { $client = $object->getActivityClient(); $message = $object->getActivityMessage(); if ($client && $message) { if ($object instanceof Workflow && is_array($object->getObjectIds()) && count($object->getObjectIds())) { $workflowableObjects = $this->workflowManager->getObjects($object); foreach ($workflowableObjects as $item) { if ($item instanceof ClosingAccountHistory) { $id = $item->getAccount()->getAccountNumber(); } else { $id = $item->getId(); } $activity = new Activity(); $activity->setClientUserId($client->getId()); $activity->setFirstName($client->getFirstName()); $activity->setLastName($client->getLastName()); $activity->setRiaUserId($client->getRia()->getId()); $activity->setMessage(sprintf($message, $id)); $activity->setAmount($object->getAmount()); $activity->setCreatedAt(new \DateTime()); $this->updateActivity($activity); } } else { $activity = $this->createActivity($object); $this->updateActivity($activity); } } }
public function getWorkflowableObjects(Workflow $workflow) { return $this->manager->getObjects($workflow); }