CONFIGURATION.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Wayne.Lib.StateEngine;
  7. namespace SinochemInternetPlusApp.EpsTrxCleanup.States
  8. {
  9. static class CONFIGURATION
  10. {
  11. public static void Config(StateTransitionLookup sl)
  12. {
  13. sl.AddTransition<Init, WaitForWork>(TransitionType.Init);
  14. sl.AddTransition<WaitForWork, ConfirmPaymentResult>(TransitionType.WorkStarted);
  15. sl.AddTransition<ConfirmPaymentResult, RefundPayment>(TransitionType.ConfirmPaymentDone);
  16. sl.AddTransition<ConfirmPaymentResult, RefundPayment>(BasicTransitionType.Error);
  17. sl.AddTransition<RefundPayment, ResendPosNotify>(TransitionType.RefundPaymentDone);
  18. sl.AddTransition<RefundPayment, ResendPosNotify>(BasicTransitionType.Error);
  19. sl.AddTransition<ResendPosNotify, CleanupTrxHistory>(TransitionType.ResendPosNotifyDone);
  20. sl.AddTransition<ResendPosNotify, CleanupTrxHistory>(BasicTransitionType.Error);
  21. sl.AddTransition<CleanupTrxHistory, WaitForWork>(TransitionType.CleanupTrxHistoryDone);
  22. sl.AddTransition<CleanupTrxHistory, WaitForWork>(BasicTransitionType.Error);
  23. }
  24. }
  25. enum EventType
  26. {
  27. // admin
  28. ShutdownRequest,
  29. WorkStarted,
  30. ConfirmPaymentDone,
  31. RefundPaymentDone,
  32. ResendPosNotifyDone,
  33. CleanupTrxHistoryDone,
  34. }
  35. enum TransitionType
  36. {
  37. Init,
  38. Done,
  39. Error,
  40. Shutdown,
  41. WorkStarted,
  42. ConfirmPaymentDone,
  43. RefundPaymentDone,
  44. ResendPosNotifyDone,
  45. CleanupTrxHistoryDone,
  46. }
  47. }