public ExceptionActivityBinder <TInstance, TException> IfElse(StateMachineExceptionCondition <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> If( StateMachineExceptionCondition <TInstance, TException> condition, Func <ExceptionActivityBinder <TInstance, TException>, ExceptionActivityBinder <TInstance, TException> > activityCallback) { return(IfElse(condition, activityCallback, _ => _)); }
public ConditionalExceptionActivityBinder(Event @event, StateMachineExceptionCondition <TInstance, TException> condition, EventActivities <TInstance> thenActivities, EventActivities <TInstance> elseActivities) : this(@event, context => Task.FromResult(condition(context)), thenActivities, elseActivities) { }