示例#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> >());
 }
示例#2
0
 public StraightforwardStatefulTaskWithRollbackWrapper(
     StraightforwardStatefulTaskDoAction <TContext> doAction,
     StatefulTaskRollbackAction <TContext>?rollbackAction)
 {
     _doAction       = doAction.ThrowIfNull(nameof(doAction));
     _rollbackAction = rollbackAction ??
                       (context => StatefulTaskWithRollbackWrapper.DefaultTryRollbackSafe(context));
 }
示例#3
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));
        }
示例#4
0
 public StraightforwardStatefulTaskWrapper(
     StraightforwardStatefulTaskDoAction <TContext> doAction)
 {
     _doAction = doAction.ThrowIfNull(nameof(doAction));
 }
示例#5
0
 public static IStraightforwardStateMachineBuilder <TContext, IStraightforwardStatefulTask <TContext> > ThenGoTo <TContext>(
     this IStraightforwardStateMachineBuilder <TContext, IStraightforwardStatefulTask <TContext> > builder,
     StraightforwardStatefulTaskDoAction <TContext> doAction)
 {
     return(builder.AddStatefulTask(StraightforwardStatefulTaskWrapper.Create(doAction)));
 }