/**
  * @param WorkflowId $workflowId
  * @param Process $process
  * @param Task $task
  * @return TaskWasAddedToProcess
  */
 public static function record(WorkflowId $workflowId, Process $process, Task $task)
 {
     $event = self::occur($workflowId->toString(), ['process_id' => $process->id()->toString(), 'task_id' => $task->id()->toString()]);
     $event->workflowId = $workflowId;
     $event->processId = $process->id();
     $event->taskId = $task->id();
     return $event;
 }
 /**
  * @param Task $task
  * @param Workflow $workflow
  * @return TaskProcessNotFound
  */
 public static function of(Task $task, Workflow $workflow)
 {
     return new self(sprintf("Workflow %s (%s) has no process defined which has task %s on its task list", $workflow->name(), $workflow->workflowId()->toString(), $task->id()->toString()));
 }
예제 #3
0
 /**
  * @param Task $task
  * @return Process|null
  */
 private function getProcessOfTask(Task $task)
 {
     foreach ($this->processList as $process) {
         foreach ($process->tasks() as $taskId) {
             if ($taskId->equals($task->id())) {
                 return $process;
             }
         }
     }
     return null;
 }