Exemple #1
0
 /// <summary>
 /// Called after every workflow execution round,
 /// every exectuon pointer with no end time, even if this step was not executed in this round
 /// </summary>
 /// <param name="executorResult"></param>
 /// <param name="defintion"></param>
 /// <param name="workflow"></param>
 /// <param name="executionPointer"></param>
 public virtual void AfterWorkflowIteration(WorkflowExecutorResult executorResult, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer)
 {
 }
Exemple #2
0
 public virtual ExecutionPipelineDirective InitForExecution(WorkflowExecutorResult executorResult, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer)
 {
     return(ExecutionPipelineDirective.Next);
 }
        public override ExecutionPipelineDirective InitForExecution(IWorkflowHost host, IPersistenceProvider persistenceStore, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer)
        {
            if (!executionPointer.EventPublished)
            {
                if (EventKey != null)
                {
                    executionPointer.EventKey = Convert.ToString(EventKey.Compile().DynamicInvoke(workflow.Data));
                }

                executionPointer.EventName = EventName;
                executionPointer.Active    = false;
                persistenceStore.PersistWorkflow(workflow).Wait();
                host.SubscribeEvent(workflow.Id, executionPointer.StepId, executionPointer.EventName, executionPointer.EventKey).Wait();

                return(ExecutionPipelineDirective.Defer);
            }
            return(ExecutionPipelineDirective.Next);
        }
Exemple #4
0
        public override ExecutionPipelineDirective InitForExecution(IWorkflowHost host, IPersistenceProvider persistenceStore, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer)
        {
            if (!executionPointer.EventPublished)
            {
                executionPointer.EventKey  = EventKey;
                executionPointer.EventName = EventName;
                executionPointer.Active    = false;
                persistenceStore.PersistWorkflow(workflow).Wait();
                host.SubscribeEvent(workflow.Id, executionPointer.StepId, executionPointer.EventName, executionPointer.EventKey).Wait();

                return(ExecutionPipelineDirective.Defer);
            }
            return(ExecutionPipelineDirective.Next);
        }
Exemple #5
0
 public virtual ExecutionPipelineDirective InitForExecution(IWorkflowHost host, IPersistenceProvider persistenceStore, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer)
 {
     return(ExecutionPipelineDirective.Next);
 }