Esempio n. 1
0
        public static IEnumerable <WorkflowDecision> GenerateFinalDecisionsFor(this IEnumerable <WorkflowClosingDecision> workflowClosingDecisions, IWorkflowClosingActions workflowClosingActions)
        {
            var finalClosingDecision = workflowClosingDecisions.OrderByDescending(d => d.Priority).First();
            var finalWorkflowAction  = finalClosingDecision.ProvideFinalActionFrom(workflowClosingActions);

            return(finalWorkflowAction == null?Enumerable.Empty <WorkflowDecision>() : finalWorkflowAction.GetDecisions());
        }
Esempio n. 2
0
 internal override WorkflowAction ProvideFinalActionFrom(IWorkflowClosingActions workflowClosingActions)
 {
     return(workflowClosingActions.OnCompletion(_result, Proposal));
 }
Esempio n. 3
0
 internal override WorkflowAction ProvideFinalActionFrom(IWorkflowClosingActions workflowClosingActions)
 {
     return(_restartWorkflowAction);
 }
 internal abstract WorkflowAction ProvideFinalActionFrom(IWorkflowClosingActions workflowClosingActions);
 internal override WorkflowAction ProvideFinalActionFrom(IWorkflowClosingActions workflowClosingActions)
 {
     return(workflowClosingActions.OnCancellation(_details));
 }
Esempio n. 6
0
 internal override WorkflowAction ProvideFinalActionFrom(IWorkflowClosingActions workflowClosingActions)
 {
     return(workflowClosingActions.OnFailure(_reason, _details));
 }