예제 #1
0
파일: Workflow.cs 프로젝트: mmusin/Workflow
        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);
        }
예제 #2
0
파일: Workflow.cs 프로젝트: mmusin/Workflow
        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);
        }
예제 #3
0
파일: Workflow.cs 프로젝트: mmusin/Workflow
        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);
        }