コード例 #1
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));
 }
コード例 #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 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));
        }