Ejemplo n.º 1
0
 public static IStraightforwardStateMachineBuilder <TContext, IStraightforwardStatefulTaskWithRollback <TContext> > AsInitial <TContext>(
     this StraightforwardStatefulTaskDoAction <TContext> doAction,
     StatefulTaskRollbackAction <TContext>?rollbackAction)
 {
     return(StraightforwardStatefulTaskWithRollbackWrapper.Create(doAction, rollbackAction)
            .AsInitial <TContext, IStraightforwardStatefulTaskWithRollback <TContext> >());
 }
Ejemplo n.º 2
0
 public StraightforwardStatefulTaskWithRollbackWrapper(
     StraightforwardStatefulTaskDoAction <TContext> doAction,
     StatefulTaskRollbackAction <TContext>?rollbackAction)
 {
     _doAction       = doAction.ThrowIfNull(nameof(doAction));
     _rollbackAction = rollbackAction ??
                       (context => StatefulTaskWithRollbackWrapper.DefaultTryRollbackSafe(context));
 }
Ejemplo n.º 3
0
 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));
 }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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));
        }