public WFContext(TData data, object message, ScopeWF root, IMachineHost host) { GlobalData = data; CurrentMessage = message; Root = root; Host = host; }
public override void Run(IContext context) { if (Status.IsCompleted()) { return; } if (Scope == null) { Scope = new ScopeWF(_child); } Scope.Run(context); Status = Scope.Status; }
public ScopeWF(IWorkflow child, ScopeWF root = null) { _current = child; Status = _current.Status; _root = root ?? this; }
public override void Reset() { Status = WorkflowStatus.Undetermined; _child.Reset(); Scope = null; }