public ExecutionSummary Execute() { var executionSummary = new ExecutionSummary(); if (Validators != null) { foreach (var validator in Validators) { executionSummary.ValidationMessages.AddRange(validator.Validate(WorkflowBatch)); } } foreach (var workflow in WorkflowBatch.Workflows) { if (StartProcessWorkflow != null) { StartProcessWorkflow(this, new ProcessWorkflowEventArgs(workflow)); } var result = new ExecutionResult { WorkflowName = workflow.Name, ExecutedTasks = new List<String>() }; if (ProcessWorkflow != null) { ProcessWorkflow(this, new ProcessWorkflowEventArgs(workflow)); } foreach (var workflowTask in workflow.Tasks) { result.ExecutedTasks.Add(workflowTask.Name); foreach (var workflowParameter in workflowTask.Parameters) { } System.Threading.Thread.Sleep(workflowTask.Delay); } if (EndProcessWorkflow != null) { EndProcessWorkflow(this, new ProcessWorkflowEventArgs(workflow)); } result.Succeeded = true; executionSummary.Results.Add(result); } return executionSummary; }
public IEnumerable<ExecutionResult> ExecuteWorkflows() { foreach (var workflow in WorkflowBatch.Workflows) { if (StartProcessWorkflow != null) { StartProcessWorkflow(this, new ProcessWorkflowEventArgs(workflow)); } var result = new ExecutionResult { WorkflowName = workflow.Name, ExecutedTasks = new List<String>() }; if (ProcessWorkflow != null) { ProcessWorkflow(this, new ProcessWorkflowEventArgs(workflow)); } foreach (var workflowTask in workflow.Tasks) { result.ExecutedTasks.Add(workflowTask.Name); foreach (var workflowParameter in workflowTask.Parameters) { } System.Threading.Thread.Sleep(workflowTask.Delay); } if (EndProcessWorkflow != null) { EndProcessWorkflow(this, new ProcessWorkflowEventArgs(workflow)); } result.Succeeded = true; yield return result; } }