public AdvancedBranchingExpression(StatefulWorkflow <T> workflow,
                                    Func <T, IDictionary <string, object>, bool> condition, IWorkflow <T> current, StatefulBuilder <T> builder,
                                    ITransitionRule <T> transitionRule)
     : base(workflow, current, builder, transitionRule)
 {
     _condition = condition;
 }
Exemple #2
0
 /// <summary>
 /// Creates a workflow that has persistable states identified by
 /// <c>workflowId</c> and provided by a transition security layer
 /// </summary>
 /// <param name="workflowId"></param>
 /// <param name="gateway">The security gateway that has the ability to diallow
 /// a transition from ever happening.</param>
 /// <param name="transitionRule">transition rule used to guide objects through the workflow</param>
 public StatefulWorkflow(object workflowId, ITransitionGateway gateway, ITransitionRule <T> transitionRule)
 {
     WorkflowId      = workflowId;
     ErrorHandler    = new StatefulErrorHandler <T>();
     this._gateway   = gateway;
     _builder        = new StatefulBuilder <T>(workflowId, transitionRule, ErrorHandler);
     _transitionRule = transitionRule;
 }
Exemple #3
0
 public StatefulBuilder(object workflowId, ITransitionRule <T> transitionRule, IErrorHandler <T> faultHandler)
 {
     _workflowId     = workflowId;
     _faultHandler   = faultHandler;
     Current         = new Workflow <T>(_faultHandler);
     _transitionRule = transitionRule;
     _transitions    = new List <ITransition>();
 }
Exemple #4
0
 public AbstractBranchingCondition(StatefulWorkflow <T> workflow, IWorkflow <T> current,
                                   StatefulBuilder <T> builder, ITransitionRule <T> transitionRule)
 {
     this._workflow       = workflow;
     this._current        = current;
     this._builder        = builder;
     this._transitionRule = transitionRule;
 }
 public BranchingExpression(StatefulWorkflow <T> workflow, Predicate <T> condition,
                            IWorkflow <T> current, StatefulBuilder <T> builder, ITransitionRule <T> transitionRule)
     : base(workflow, current, builder, transitionRule)
 {
     _condition = condition;
 }
 IConfigurationExpression <T> IConfigurationExpression <T> .TransitionRule(ITransitionRule <T> transitionRule)
 {
     throw new NotImplementedException();
 }