/**
  * @see Command
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $em = $this->getContainer()->get('doctrine.orm.entity_manager');
     $repository = $em->getRepository('WealthbotClientBundle:Workflow');
     $workflow = $repository->findAll();
     $count = 0;
     foreach ($workflow as $workflowItem) {
         $type = $workflowItem->getType();
         if ($type === Workflow::TYPE_PAPERWORK) {
             $messageCodes = array_flip(Workflow::getPaperworkMessageChoices());
         } else {
             $messageCodes = array_flip(Workflow::getAlertMessageChoices());
         }
         $workflowItem->setMessageCode($messageCodes[$workflowItem->getDbMessage()]);
         $em->persist($workflowItem);
         $count++;
     }
     $em->flush();
     $output->writeln(sprintf('Updated %d items.', $count));
 }
Пример #2
0
 public function PostFlush(PostFlushEventArgs $eventArgs)
 {
     $activityManager = $this->container->get('wealthbot.activity.manager');
     $paperworkMessages = Workflow::getPaperworkMessageChoices();
     foreach ($this->inserted as $entity) {
         if ($entity instanceof ActivityInterface) {
             $activityManager->saveActivityByObject($entity);
         }
         if ($entity instanceof Distribution || $entity instanceof BaseContribution) {
             $client = $entity->getClientAccount()->getClient();
             $message = str_replace('New/Update', 'New', $paperworkMessages[$entity->getWorkflowMessageCode()]);
             $message = substr($message, 0, -1);
             $activity = $this->createActivity($client, $message, $entity->getAmount());
             $activityManager->updateActivity($activity);
         }
     }
 }
Пример #3
0
 /**
  * @param User $client
  * @param WorkflowableInterface $object
  * @return null|Workflow
  */
 public function findOneByClientAndObject(User $client, WorkflowableInterface $object)
 {
     $messageCode = $object->getWorkflowMessageCode();
     if (array_key_exists($messageCode, Workflow::getPaperworkMessageChoices())) {
         $type = Workflow::TYPE_PAPERWORK;
     } else {
         $type = Workflow::TYPE_ALERT;
     }
     return $this->findOneByClientAndObjectAndType($client, $object, $type);
 }