public Execution <TContext> ResumeFrom(TContext context, string node) { var execution = m_Persister.Load(context); var executor = new WorkflowExecutor <TContext>(execution, context, this, m_ActivityFactory, m_ActivityExecutor); accept(executor, node); m_Persister.Save(context, execution); return(execution); }
public Execution <TContext> Resume <TClosure>(TContext context, TClosure closure) { var execution = m_Persister.Load(context); var executor = new WorkflowExecutor <TContext>(execution, context, this, m_ActivityFactory, m_ActivityExecutor, closure); string node = execution.Log.Select(item => item.Node).LastOrDefault(); accept(executor, node); m_Persister.Save(context, execution); return(execution); }
public Execution <TContext> Run(TContext context) { var execution = new Execution <TContext> { State = WorkflowState.InProgress }; var executor = new WorkflowExecutor <TContext>(execution, context, this, m_ActivityFactory, m_ActivityExecutor); accept(executor); m_Persister.Save(context, execution); return(execution); }