using System; using System.Collections.Generic; using System.Text; using Wayne.Lib.StateEngine; namespace SinochemInternetPlusApp.States.ICCardMode { static class CONFIGURATION { // make sure entry point is Init, and exit point is Final public static void Config(StateTransitionLookup sl) { sl.AddTransition(TransitionType.Init); ////IC卡外部验证 sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Abort); sl.AddTransition(TransitionType.Error); sl.AddTransition(TransitionType.Timeout); sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); ////查询IC卡余额 sl.AddTransition(TransitionType.CloudBalanceOk); sl.AddTransition(TransitionType.CloudBalanceFailed); sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); ////返回卡余额给读卡器 sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); ////等待加油 sl.AddTransition(TransitionType.NozzleLifted); sl.AddTransition(TransitionType.Abort); sl.AddTransition(TransitionType.Timeout); ////授权油机 //sl.AddTransition(TransitionType.PumpAuthOk); sl.AddTransition(TransitionType.PumpAuthOk); sl.AddTransition(TransitionType.PumpAuthFailed); sl.AddTransition(TransitionType.Timeout); sl.AddTransition(TransitionType.Done); ////大屏显示“加油中” sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); ////加油中 sl.AddTransition(TransitionType.NozzleReplaced); ////等待“待支付交易” sl.AddTransition(TransitionType.FuelingDone); sl.AddTransition(TransitionType.Timeout); ////计算MAC sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); //sl.AddTransition(TransitionType.Done); //sl.AddTransition(TransitionType.Timeout); // rarely happen sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); // rarely happen sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); ////向中化云发送IC卡扣款 sl.AddTransition(TransitionType.CloudPaymentOk); sl.AddTransition(TransitionType.CloudPaymentFailed); //sl.AddTransition(TransitionType.PosNotifyOk); //sl.AddTransition(TransitionType.PosNotifyFailed); sl.AddTransition(TransitionType.PosNotifyOk); sl.AddTransition(TransitionType.PosNotifyFailed); ////大屏显示“加油结果” sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); ////通知读卡器扣款结果 sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); ////打印小票 sl.AddTransition(TransitionType.Abort); sl.AddTransition(TransitionType.Timeout); sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Next); sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); ////退卡 sl.AddTransition(TransitionType.Done); sl.AddTransition(TransitionType.Timeout); sl.AddTransition(TransitionType.Done); sl.AddTransition(BasicTransitionType.Error); } } }