public static IStraightforwardStateMachineBuilder <TContext, IStraightforwardStatefulTaskWithRollback <TContext> > AsInitial <TContext>( this StraightforwardStatefulTaskDoAction <TContext> doAction, StatefulTaskRollbackAction <TContext>?rollbackAction) { return(StraightforwardStatefulTaskWithRollbackWrapper.Create(doAction, rollbackAction) .AsInitial <TContext, IStraightforwardStatefulTaskWithRollback <TContext> >()); }
public StraightforwardStatefulTaskWithRollbackWrapper( StraightforwardStatefulTaskDoAction <TContext> doAction, StatefulTaskRollbackAction <TContext>?rollbackAction) { _doAction = doAction.ThrowIfNull(nameof(doAction)); _rollbackAction = rollbackAction ?? (context => StatefulTaskWithRollbackWrapper.DefaultTryRollbackSafe(context)); }
public static IStraightforwardStateMachineBuilder <TContext, IStraightforwardStatefulTaskWithRollback <TContext> > ThenGoTo <TContext>( this IStraightforwardStateMachineBuilder <TContext, IStraightforwardStatefulTaskWithRollback <TContext> > builder, StraightforwardStatefulTaskDoAction <TContext> doAction, StatefulTaskRollbackAction <TContext>?rollbackAction) { var statefulTask = StraightforwardStatefulTaskWithRollbackWrapper.Create(doAction, rollbackAction); return(builder.AddStatefulTask(statefulTask)); }
public StraightforwardStatefulTaskWrapper( StraightforwardStatefulTaskDoAction <TContext> doAction) { _doAction = doAction.ThrowIfNull(nameof(doAction)); }
public static IStraightforwardStateMachineBuilder <TContext, IStraightforwardStatefulTask <TContext> > ThenGoTo <TContext>( this IStraightforwardStateMachineBuilder <TContext, IStraightforwardStatefulTask <TContext> > builder, StraightforwardStatefulTaskDoAction <TContext> doAction) { return(builder.AddStatefulTask(StraightforwardStatefulTaskWrapper.Create(doAction))); }