public UserRequest() { InitializeComponent(); pBxRegister.Load(Globals.GetPath(PathEnum.Image) + "\\" + Globals.DesignConfiguration.Settings.ButtonRegister); pBxRemember.Load(Globals.GetPath(PathEnum.Image) + "\\" + Globals.DesignConfiguration.Settings.ButtonRemember); LoadFullKeyBoard(); tbx = tbxLogin; timer1.Enabled = true; timer1.Interval = 50; }
private void pBxRegister_Click(object sender, EventArgs e) { chbNew.Checked = true; pBxRegister.Visible = false; pBxRemember.Visible = false; ErrorText.Text = ""; tbxLogin.Text = ""; tbxPassword.Text = ""; tbx = tbxLogin; tbxPassword.BackColor = System.Drawing.Color.Gray; tbxLogin.BackColor = System.Drawing.Color.Lime; }
private void NumberBoard_KeyboardEvent(object sender, KeyBoardEventArgs e) { string row0 = "123"; string row1 = "456"; string row2 = "789"; string row3 = " 0 "; ErrorText.Text = ""; // кнопку нажали - сбросили тайм аут Timeout = 0; if (e.Message.Y == 0) { if (User.Length < 10 && tbx == tbxLogin || Password.Length < 4 && tbx == tbxPassword) { if (tbx == tbxLogin) { tbx.Text += row0[e.Message.X]; User += row0[e.Message.X]; } else { tbx.Text += "*"; Password += row0[e.Message.X]; } } } else if (e.Message.Y == 1) { if (User.Length < 10 && tbx == tbxLogin || Password.Length < 4 && tbx == tbxPassword) { if (tbx == tbxLogin) { tbx.Text += row1[e.Message.X]; User += row1[e.Message.X]; } else { tbx.Text += "*"; Password += row1[e.Message.X]; } } } else if (e.Message.Y == 2) { if (User.Length < 10 && tbx == tbxLogin || Password.Length < 4 && tbx == tbxPassword) { if (tbx == tbxLogin) { tbx.Text += row2[e.Message.X]; User += row2[e.Message.X]; } else { tbx.Text += "*"; Password += row2[e.Message.X]; } } } else if (e.Message.Y == 3) { if (e.Message.X == 0) { // стереть символ последний if (tbx.Text.Length > 0) { if (tbx == tbxLogin) { tbxLogin.Text = tbxLogin.Text.Remove(tbxLogin.Text.Length - 1); User = User.Remove(User.Length - 1); } else { tbxPassword.Text = tbxPassword.Text.Remove(tbxPassword.Text.Length - 1); Password = Password.Remove(Password.Length - 1); } } else { // выйти в главное меню data.stage = WorkerStateStage.MainScreen; Close(); } } else if (e.Message.X == 1) { if (User.Length < 10 && tbx == tbxLogin || Password.Length < 4 && tbx == tbxPassword) { if (tbx == tbxLogin) { tbx.Text += row3[e.Message.X]; User += row3[e.Message.X]; } else { tbx.Text += "*"; Password += row3[e.Message.X]; } } } else if (e.Message.X == 2) { if (tbx == tbxLogin) { if (User.Length < 10) { ErrorText.Text = "Номер телефона должен состоять из 10 цифр"; data.log.Write(LogMessageType.Information, "Номер телефона должен состоять из 10 цифр"); data.log.Write(LogMessageType.Information, User); return; } } else { if (Password.Length < 4) { ErrorText.Text = "Пароль должен состоять из 4 цифр"; data.log.Write(LogMessageType.Information, "Пароль должен состоять из 4 цифр"); data.log.Write(LogMessageType.Information, Password); return; } } if (rememberBox.Checked) { // восстанавливаем пароль data.stage = RestorePassword(User); if (data.stage == WorkerStateStage.FindPhone) { data.retLogin = User; } Close(); return; } if (tbx == tbxLogin) { tbx = tbxPassword; tbxLogin.BackColor = System.Drawing.Color.Gray; tbxPassword.BackColor = System.Drawing.Color.Lime; return; } Globals.UserConfiguration.UserLogin = User; Globals.UserConfiguration.UserPassword = Password; if (chbNew.Checked) { UserInfo ui = GlobalDb.GlobalBase.GetUserByName(User); if (ui != null) { // есть такой пользователь - а пароль совпадает? ui = GlobalDb.GlobalBase.GetUserByName(User, Password); if (ui == null) { // такой пользователь есть - но пароль не совпадает Globals.UserConfiguration.Clear(); data.stage = WorkerStateStage.ErrorRegisterNewUser; Close(); } else { // и пользователь такой есть и пароль совпадает data.stage = WorkerStateStage.AuthorizeUser; Close(); } } else { // новый пользователь - добавим его if (AddInDB()) { // успешно занеслось в БД ui = GlobalDb.GlobalBase.GetUserByName(User, Password); if (ui != null) { Globals.UserConfiguration.ID = ui.Id; // получили ID из БД } // зарегистрировали нового пользователя data.stage = WorkerStateStage.RegisterNewUser; Close(); } else { Globals.UserConfiguration.Clear(); data.stage = WorkerStateStage.NotAuthorizeUser; Close(); } } } else { // проверить - есть такой в БД? UserInfo ui = GlobalDb.GlobalBase.GetUserByName(User, Password); if (ui == null) { // нет такого пользователя Globals.UserConfiguration.Clear(); // очередная попытка ввода пароля countRetry++; if (countRetry >= 5) { data.log.Write(LogMessageType.Information, "Превысили количество попыток воода пароля"); data.log.Write(LogMessageType.Information, User); data.log.Write(LogMessageType.Information, Password); User = ""; Password = ""; data.stage = WorkerStateStage.NotAuthorizeUser; Close(); } else { tbxLogin.Text = ""; tbxPassword.Text = ""; ErrorText.Text = "Вы ввели неправильный номер или пароль. Попробуйте еще раз."; tbx = tbxLogin; tbxLogin.BackColor = System.Drawing.Color.Lime; tbxPassword.BackColor = System.Drawing.Color.Gray; data.log.Write(LogMessageType.Information, "Ввели неправильный пароль"); data.log.Write(LogMessageType.Information, User); data.log.Write(LogMessageType.Information, Password); User = ""; Password = ""; } } else { // авторизовались Globals.UserConfiguration.ID = ui.Id; int sum = GlobalDb.GlobalBase.GetUserMoney(ui.Id); Globals.UserConfiguration.Amount = sum; // вошли data.stage = WorkerStateStage.AuthorizeUser; Close(); } } } } }