public ConstantsApp.ProcessState GetNext(ConstantsApp.Command command) { StateMachineTransition transition = new StateMachineTransition(CurrentState, command); ConstantsApp.ProcessState nextState; _smTransitions.TryGetValue(transition, out nextState); return nextState; }
/// <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); } }
public StateMachineTransition(ConstantsApp.ProcessState currentState, ConstantsApp.Command command) { CurrentState = currentState; Command = command; }