public ConstantsApp.ProcessState GetNext(ConstantsApp.Command command)
        {
            StateMachineTransition transition = new StateMachineTransition(CurrentState, command);

            ConstantsApp.ProcessState nextState;
            _smTransitions.TryGetValue(transition, out nextState);
            return(nextState);
        }
예제 #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="commandToExecute"></param>
 public void Transition(ConstantsApp.Command commandToExecute)
 {
     try
     {
         _smProcess.MoveNext(commandToExecute);
     }
     catch (Exception ex)
     {
         throw (ex);
     }
 }
 public ConstantsApp.ProcessState MoveNext(ConstantsApp.Command command)
 {
     try
     {
         CurrentState = GetNext(command);
         return(CurrentState);
     }
     catch (Exception ex)
     {
         throw (ex);
     }
 }
예제 #4
0
 public StateMachineTransition(ConstantsApp.ProcessState currentState, ConstantsApp.Command command)
 {
     CurrentState = currentState;
     Command      = command;
 }
 public StateMachineTransition(ConstantsApp.ProcessState currentState, ConstantsApp.Command command)
 {
     CurrentState = currentState;
     Command = command;
 }