public TriggerResult(string triggerName, TransitionContext context, bool canTrigger) { TriggerName = triggerName; _triggerContext = context; CanTrigger = canTrigger; IsAborted = _triggerContext.TransitionAborted; Errors = _triggerContext.Errors; }
/// <summary> /// Returns the workflow variable from the TransitionContext. /// </summary> /// <typeparam name="TVariable"></typeparam> /// <param name="transitionContext"></param> /// <returns></returns> public static TVariable ReturnVariable <TVariable>( this TransitionContext transitionContext ) where TVariable : WorkflowVariableBase { return(transitionContext.GetVariable <TVariable>( KeyBuilder.ToKey(typeof(TVariable)) )); }
private static TriggerResult CreateTriggerResult( string triggerName, TransitionContext context, Transition transition) { var canTrigger = transition != null && transition.CanMakeTransition(context); return(new TriggerResult(triggerName, context, canTrigger)); }
private static TransitionContext CreateTransitionContext( IWorkflow instance, Dictionary <string, WorkflowVariableBase> variables) { var context = new TransitionContext(instance); if (variables != null) { foreach (var variable in variables) { context.SetVariable(variable.Key, variable.Value); } } return(context); }
private TriggerResult CanMakeTransition( TransitionContext context, string triggerName, IWorkflow instance) { var transition = GetTransition(triggerName, instance); var triggerResult = CreateTriggerResult(triggerName, context, transition); if (transition != null) { return(triggerResult); } context.AddError($"Transition for trigger '{triggerName}' not found!"); return(triggerResult); }
/// <summary> /// Checks whether the workflow variable is present in the TransitionContext. /// </summary> /// <typeparam name="TVariable"></typeparam> /// <param name="transitionContext"></param> /// <returns></returns> public static bool HasVariable <TVariable>( this TransitionContext transitionContext ) { return(transitionContext.ContainsKey(KeyBuilder.ToKey(typeof(TVariable)))); }