//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; } }
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: } }