HandleExternalCheckFailure.cs 1.1 KB

123456789101112131415161718192021222324252627282930
  1. using Wayne.Lib.StateEngine;
  2. using Wayne.Lib.StateEngine.Generic;
  3. using WayneChina_IcCardReader_SinoChem.MessageEntity.Incoming;
  4. namespace SinochemInternetPlusApp.States.ICCardMode
  5. {
  6. public class HandleExternalCheckFailure : TimeoutState<FuelingPoint>
  7. {
  8. protected override void HandleNonTimeoutEvent(StateEngineEvent stateEngineEvent, ref Transition transition)
  9. {
  10. GenericEvent<CardReaderStateEventArgs> e = stateEngineEvent as GenericEvent<CardReaderStateEventArgs>;
  11. if (e != null && e.EventArgs != null)
  12. {
  13. if (e.EventArgs.CardReaderState.State == CardReaderState.Idle)
  14. {
  15. e.Handled = true;
  16. transition = new Transition(this, TransitionType.Done);
  17. }
  18. }
  19. }
  20. protected override void Timeout(ref Transition transition)
  21. {
  22. transition = new Transition(this, TransitionType.Timeout);
  23. }
  24. protected override int TimeoutInterval =>
  25. TimeoutValues.GetValueInMilliSec(TimeoutValues.FuelingPoint.ICCardMode_HandleExternalCheckFailure, 5);
  26. }
  27. }