public override void Run(T obj)
 {
     foreach (var item in Actions)
     {
         Task.Factory.StartNew(() => item(obj));
     }
     state = WorkflowActionState.Ended;
 }
        public override void Run(T obj)
        {
            Task task = Task.Run(() => Parallel.ForEach(Actions, (action) => action(obj)));

            if (m_waitActionsFinish)
            {
                task.Wait();
            }
            state = WorkflowActionState.Ended;
        }
 public override void Reset()
 {
     state = WorkflowActionState.Ready;
 }
 public MultipleGoWorkflowAction(Action <T>[] actions, bool waitActionsFinish)
 {
     m_waitActionsFinish = waitActionsFinish;
     Actions             = actions;
     state = WorkflowActionState.Ready;
 }
 /// <summary>
 /// Run the step
 /// </summary>
 /// <param name="obj"></param>
 public override void Run(T obj)
 {
     Action(obj);
     state = WorkflowActionState.Ended;
 }
 public GoWorkflowAction(Action <T> action)
 {
     Action = action;
     state  = WorkflowActionState.Ready;
 }
 public MultipleGoWorkflowAction(Action <T>[] actions)
 {
     Actions = actions;
     state   = WorkflowActionState.Ready;
 }
 public override void Run(T obj)
 {
     Task.Run(() => Parallel.ForEach(Actions, (action) => action(obj)));
     state = WorkflowActionState.Ended;
 }