示例#1
0
        //Helper method used in Clear key imlementation
        public void ResetState()
        {
            LogonStates states = (LogonStates)this.PeekState();

            switch (states)
            {
            case LogonStates.GetUser:
                this.States().PopState();
                this.States().PushState((int)LogonStates.EnterUser);
                break;

            case LogonStates.GetPassword:
                this.States().PopState();
                this.States().PushState((int)LogonStates.EnterPassword);
                break;

            case LogonStates.GetAmount:
                this.States().PopState();
                this.States().PushState((int)LogonStates.EnterOpenAmount);
                break;

            case LogonStates.GetDrawerNumber:
                this.States().PopState();
                this.States().PushState((int)LogonStates.EnterDrawerNumber);
                break;
            }
        }
示例#2
0
        public override void  Engage(int keyValue)
        {
            //MessageBox.Show("*** Y ** Logon ***"+ this.PeekState().ToString() );
            LogonStates states = (LogonStates)this.PeekState();

            switch (states)
            {
            case LogonStates.EnterUser:

                PosContext.Instance.ClearInput();

                PosContext.Instance.ClearInput();
                PosContext.Instance.HomeGUI();

                this.PromptText = PosContext.Instance.Parameters.getParam("EnterUser");
                //this.tytype = PosNumberDialog.CLEAR;
                PosContext.Instance.Operprompt.Update(this);
                this.States().PushState((int)LogonStates.GetUser);

                break;

            case LogonStates.EnterPassword:

                mask = true;
                PosContext.Instance.ClearInput();
                this.PromptText = PosContext.Instance.Parameters.getParam("EnterPass");
                //type = PosNumberDialog.MASK;
                PosContext.Instance.Operprompt.Update(this);
                this.States().PushState((int)LogonStates.GetPassword);
                break;

            case LogonStates.EnterOpenAmount:
                break;

            case LogonStates.EnterDrawerNumber:
                break;

            case LogonStates.GetUser:

                this.States().PopState();
                user = PosContext.Instance.InputLine;
                try
                {
                    userno = int.Parse(user);
                }
                catch
                {
                    this.PromptText = PosContext.Instance.Parameters.getParam("BadName");
                    PosContext.Instance.Operprompt.Update(this);
                    return;
                }

                this.States().PushState((int)LogonStates.EnterPassword);
                PosContext.Instance.ClearInput();
                PosEventStack.Instance.NextEvent();
                break;


            case LogonStates.GetPassword:

                this.States().PopState();
                pass = PosContext.Instance.InputLine;
                try
                {
                    passno = int.Parse(pass);
                }
                catch
                {
                    PosContext.Instance.Operprompt.Update(this);
                    return;
                }

                if (this.CheckLogon())
                {
                    this.States().Clear();
                    try
                    {
                        PosContext.Instance.TransactionType = int.Parse(PosContext.Instance.Parameters.getParam("DefaultTransactionType"));
                    }
                    catch
                    {
                    }
                    PosContext.Instance.Receipt.Update(this);
                    PosContext.Instance.ClearInput();
                }
                else
                {
                    //this.PromptText = PosContext.Instance.Parameters.getParam("BadName");
                    //PosContext.Instance.Operprompt.Update(this);
                    PosError posError = new PosError(errorCode);
                    PosEventStack.Instance.PushEvent(posError);
                }

                PosEventStack.Instance.NextEvent();
                break;

            case LogonStates.GetAmount:
                break;

            case LogonStates.GetDrawerNumber:
                break;

            case LogonStates.CompleteLogon:
                break;

            case LogonStates.TemproryLogon:
                break;

            case LogonStates.Unlock:
                break;
                //default:
            }
        }