public StatefulTaskWithRollbackWrapper( StatefulTaskDoAction <TContext, TStateId> doAction, StatefulTaskRollbackAction <TContext>?rollbackAction) { _doAction = doAction.ThrowIfNull(nameof(doAction)); _rollbackAction = rollbackAction ?? (context => StatefulTaskWithRollbackWrapper.DefaultTryRollbackSafe(context)); }
public static IStateMachineBuilderWithoutStateId <TContext, TStateId, IStatefulTaskWithRollback <TContext, TStateId> > AsInitial <TContext, TStateId>( this StatefulTaskDoAction <TContext, TStateId> doAction, StatefulTaskRollbackAction <TContext>?rollbackAction, TStateId initialStateId) { return(StatefulTaskWithRollbackWrapper.Create(doAction, rollbackAction) .AsInitial <TContext, TStateId, IStatefulTaskWithRollback <TContext, TStateId> >(initialStateId)); }
public static IStateMachineBuilderWithoutStateId <TContext, TStateId, IStatefulTaskWithRollback <TContext, TStateId> > GoTo <TContext, TStateId>( this IStateMachineBuilderWithStateId <TContext, TStateId, IStatefulTaskWithRollback <TContext, TStateId> > builder, StatefulTaskDoAction <TContext, TStateId> doAction, StatefulTaskRollbackAction <TContext>?rollbackAction) { var statefulTask = StatefulTaskWithRollbackWrapper.Create(doAction, rollbackAction); return(builder.AddStatefulTask(statefulTask)); }
public StatefulTaskWrapper( StatefulTaskDoAction <TContext, TStateId> doAction) { _doAction = doAction.ThrowIfNull(nameof(doAction)); }
public static IStateMachineBuilderWithoutStateId <TContext, TStateId, IStatefulTask <TContext, TStateId> > GoTo <TContext, TStateId>( this IStateMachineBuilderWithStateId <TContext, TStateId, IStatefulTask <TContext, TStateId> > builder, StatefulTaskDoAction <TContext, TStateId> doAction) { return(builder.AddStatefulTask(StatefulTaskWrapper.Create(doAction))); }