Example #1
0
        private void button_SingIn_Click(object sender, EventArgs e)
        {
            UserModel user = null;

            try
            {
                user = accessController.FindUser(textBox_Login.Text);
                if (user.AuthCnt >= accessController.BanCnt())
                {
                    var result = MessageBox.Show("You accaunt is ban", "Continue?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (result == DialogResult.No)
                    {
                        Environment.Exit(0);
                    }
                    return;
                }
                if (user.Password.Equals(string.Empty) || user.Password == null)
                {
                    var dialog = new ResetPassword();
                    dialog.User             = user;
                    dialog.accessController = accessController;
                    if (dialog.ShowDialog() == DialogResult.No)
                    {
                        var result = MessageBox.Show("Error when changing password", "Continue?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (result == DialogResult.No)
                        {
                            Environment.Exit(0);
                        }
                    }
                    return;
                }
            }
            catch (Exception)
            {
                var result = MessageBox.Show("Incorrect login", "Continue?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.No)
                {
                    Environment.Exit(0);
                }
                return;
            }
            if (user != null)
            {
                try
                {
                    if (!accessController.Login(textBox_Login.Text, textBox_Password.Text))
                    {
                        var result = MessageBox.Show("Incorrect password", "Continue?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (result == DialogResult.No)
                        {
                            Environment.Exit(0);
                        }
                        return;
                    }
                    if (user.PasswordRestriction)
                    {
                        if (!Regex.IsMatch(textBox_Password.Text, @"^(?=.*[,.!?;:\-()])(?=.*[а-яА-ЯёЁ])(?=.*[a-zA-Z])(?!.*\s).*$"))
                        {
                            var dialog = new ResetPassword();
                            dialog.User             = user;
                            dialog.accessController = accessController;
                            if (dialog.ShowDialog() == DialogResult.No)
                            {
                                var result = MessageBox.Show("Error when changing password", "Continue?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                                if (result == DialogResult.No)
                                {
                                    Environment.Exit(0);
                                }
                            }
                            return;
                        }
                    }
                }
                catch (Exception)
                {
                    var result = MessageBox.Show("You ran out of login attempts", "Continue?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (result == DialogResult.No)
                    {
                        Environment.Exit(0);
                    }
                    return;
                }
                var main = new MainMenu();
                main.AccessController = accessController;
                main.Show();
            }
        }