Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }