123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Wayne.Lib.StateEngine;
- namespace SinochemInternetPlusApp.States.CarPlateMode
- {
- static class CONFIGURATION
- {
- // make sure entry point is Init, and exit point is Final
- public static void Config(StateTransitionLookup sl)
- {
- sl.AddTransition<Init, DisableICCardReader>(TransitionType.Init);
- sl.AddTransition<DisableICCardReader, SendWelcomeScreen>(TransitionType.ICCardReaderDisabled);
- sl.AddTransition<DisableICCardReader, Error>(TransitionType.Timeout);
- sl.AddTransition<SendWelcomeScreen, WaitForCardReaderBackToIdle>(TransitionType.Done);
- sl.AddTransition<SendWelcomeScreen, Error>(TransitionType.Timeout);
-
- sl.AddTransition<WaitForCardReaderBackToIdle, ShowTrxListPendingFueling>(TransitionType.Timeout);
- ////大屏显示“待加油”
- sl.AddTransition<ShowTrxListPendingFueling, WaitForFueling>(TransitionType.Done);
- sl.AddTransition<ShowTrxListPendingFueling, WaitForFueling>(TransitionType.Timeout);
- sl.AddTransition<WaitForFueling, Shared.AuthorizePump>(TransitionType.NozzleLifted);
- sl.AddTransition<WaitForFueling, SendTrxDoneToCardReader>(TransitionType.FuelingRemoved);
- sl.AddTransition<WaitForFueling, Error>(TransitionType.Timeout);
-
- sl.AddTransition<Shared.AuthorizePump, ShowTrxListFueling>(TransitionType.PumpAuthOk);
- sl.AddTransition<Shared.AuthorizePump, Error>(TransitionType.PumpAuthFailed);
- sl.AddTransition<Shared.AuthorizePump, Error>(TransitionType.Timeout);
- ////大屏显示“加油中”
- sl.AddTransition<ShowTrxListFueling, Shared.Fueling>(TransitionType.Done);
- sl.AddTransition<ShowTrxListFueling, Shared.Fueling>(TransitionType.Timeout);
-
- sl.AddTransition<Shared.Fueling, Shared.WaitForPayableTrx>(TransitionType.NozzleReplaced);
-
- sl.AddTransition<Shared.WaitForPayableTrx, ShowTrxListReadyForPay>(TransitionType.FuelingDone);
- sl.AddTransition<Shared.WaitForPayableTrx, SendTrxDoneToCardReader>(TransitionType.Timeout);
- ////大屏显示“待支付”
- sl.AddTransition<ShowTrxListReadyForPay, CalculateMAC>(TransitionType.Done);
- sl.AddTransition<ShowTrxListReadyForPay, CalculateMAC>(TransitionType.Timeout);
- sl.AddTransition<CalculateMAC, Shared.PayTrx>(TransitionType.ICCardReaderMACResponse);
- sl.AddTransition<CalculateMAC, Shared.PayTrx>(TransitionType.Done);
- sl.AddTransition<Shared.PayTrx, Shared.NotifyPOS>(TransitionType.CloudPaymentOk);
- sl.AddTransition<Shared.PayTrx, SendTrxDoneToCardReader>(TransitionType.CloudPaymentFailed);
- sl.AddTransition<Shared.NotifyPOS, SendTrxDoneToCardReader>(TransitionType.PosNotifyOk);
- sl.AddTransition<Shared.NotifyPOS, SendTrxDoneToCardReader>(TransitionType.PosNotifyFailed);
- sl.AddTransition<SendTrxDoneToCardReader, ShowTrxListFillingPaid>(TransitionType.Done);
- sl.AddTransition<SendTrxDoneToCardReader, ShowTrxListFillingPaid>(TransitionType.Timeout);
- ////大屏显示“加油结果”
- sl.AddTransition<ShowTrxListFillingPaid, ShowPaymentResult>(TransitionType.Done);
- sl.AddTransition<ShowTrxListFillingPaid, ShowPaymentResult>(TransitionType.Timeout);
- ////大屏显示“支付结果”
- sl.AddTransition<ShowPaymentResult, Shared.PrintReceipt>(TransitionType.Done);
- sl.AddTransition<ShowPaymentResult, Shared.PrintReceipt>(TransitionType.Timeout);
- ////打印小票
- sl.AddTransition<Shared.PrintReceipt, Shared.WaitForPrinterIdle>(TransitionType.Abort);
- sl.AddTransition<Shared.WaitForPrinterIdle, Shared.PrintReceipt>(TransitionType.Timeout);
- sl.AddTransition<Shared.WaitForPrinterIdle, Shared.PrintReceipt>(TransitionType.Done);
- sl.AddTransition<Shared.PrintReceipt, Shared.PrintReceipt>(TransitionType.Next);
- sl.AddTransition<Shared.PrintReceipt, Final>(TransitionType.Done);
- sl.AddTransition<Shared.PrintReceipt, Error>(TransitionType.Timeout);
- sl.AddTransition<Error, SendTrxDoneToCardReader>(TransitionType.Error);
- sl.AddTransition<AnyState, Final>(BasicTransitionType.Error);
- }
- }
- }
|