public ConditionExceptionActivity(StateMachineAsyncExceptionCondition <TInstance, TConditionException> condition,
                                   Behavior <TInstance> thenBehavior, Behavior <TInstance> elseBehavior)
 {
     _condition    = condition;
     _thenBehavior = thenBehavior;
     _elseBehavior = elseBehavior;
 }
 public ConditionalExceptionActivityBinder(Event @event, StateMachineAsyncExceptionCondition <TInstance, TException> condition,
                                           EventActivities <TInstance> thenActivities, EventActivities <TInstance> elseActivities)
 {
     _thenActivities = thenActivities;
     _elseActivities = elseActivities;
     _condition      = condition;
     _event          = @event;
 }
        public ExceptionActivityBinder <TInstance, TException> IfElseAsync(StateMachineAsyncExceptionCondition <TInstance, TException> condition,
                                                                           Func <ExceptionActivityBinder <TInstance, TException>, ExceptionActivityBinder <TInstance, TException> > thenActivityCallback,
                                                                           Func <ExceptionActivityBinder <TInstance, TException>, ExceptionActivityBinder <TInstance, TException> > elseActivityCallback)
        {
            var thenBinder = GetBinder(thenActivityCallback);
            var elseBinder = GetBinder(elseActivityCallback);

            var conditionBinder = new ConditionalExceptionActivityBinder <TInstance, TException>(_event, condition, thenBinder, elseBinder);

            return(new CatchExceptionActivityBinder <TInstance, TException>(_machine, _event, _activities, conditionBinder));
        }
 public ExceptionActivityBinder <TInstance, TException> IfAsync(
     StateMachineAsyncExceptionCondition <TInstance, TException> condition,
     Func <ExceptionActivityBinder <TInstance, TException>, ExceptionActivityBinder <TInstance, TException> > activityCallback)
 {
     return(IfElseAsync(condition, activityCallback, _ => _));
 }