Пример #1
0
 /// <summary>
 /// Construct a transition.
 /// </summary>
 /// <param name="fromState"></param>
 /// <param name="toState"></param>
 /// <param name="triggeredBy"></param>
 /// <param name="isReentry"></param>
 /// <param name="guardCondition"></param>
 /// <returns></returns>
 public WorkflowTransition(WorkflowState <T, TContext> fromState,
                           WorkflowState <T, TContext> toState,
                           WorkflowTrigger <T> triggeredBy,
                           bool isReentry = false,
                           IWorkflowGuard <T, TContext> guardCondition = null)
 {
     FromState      = fromState;
     ToState        = toState;
     TriggeredBy    = triggeredBy;
     IsReentry      = isReentry;
     GuardCondition = guardCondition;
 }
Пример #2
0
 /// <summary>
 /// Execute the IWorkflowGuard delegate.
 /// </summary>
 /// <param name="condition"></param>
 /// <returns></returns>
 private Func <bool> ConditionalGuard(IWorkflowGuard <T, TContext> condition)
 {
     return(() => condition.IsAllowed(this));
 }