コード例 #1
0
ファイル: UserRequest.cs プロジェクト: dimoniche/Service
        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;
        }
コード例 #2
0
ファイル: UserRequest.cs プロジェクト: dimoniche/Service
        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;
        }
コード例 #3
0
ファイル: UserRequest.cs プロジェクト: dimoniche/Service
        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();
                        }
                    }
                }
            }
        }