Beispiel #1
0
        private void btnClient_Click(object sender, RoutedEventArgs e)
        {
            ReaderWin readerWin = new ReaderWin(userData);

            this.Hide();
            readerWin.ShowDialog();
            this.Show();
        }
Beispiel #2
0
        private void Login()//Метод входа в приложение
        {
            DataBase.Librarian user = context.Librarian
                                      .ToList().Where(i => i.Login == txtLogin.Text && i.Password == pswPassword.Password).FirstOrDefault(); // поиск записи в БД с логином и паролем введенным пользователем

            if (user != null && txbCapchaEnter.Text.ToLower() == txtCapcha.Text.ToLower())                                                   //проверка найденого пароля и логина
            {
                if (File.Exists("SaveUser.txt") == true)                                                                                     // Проверка существования файла!
                {
                    if (cbxRemind.IsChecked == true && File.Exists("SaveUser.txt") == true)
                    {
                        FileSaveClass.FileWrite($"{user.Login};{user.Password}", "SaveUser.txt"); // записывает пользователя в файл
                    }
                    if (cbxRemind.IsChecked == false)                                             // удаление файла
                    {
                        File.Delete("SaveUser.txt");
                    }
                }
                else
                {
                    if (cbxRemind.IsChecked == true && File.Exists("SaveUser.txt") == false)// Полная шляпа, когда пользователь трогает сраный файл!!!
                    {
                        MessageBox.Show("Внимание! \nИсполняемый файл занaят системным процессом! " +
                                        "\nПри следующей авторизации вам придётся ещё раз ввести ваши данные!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }


                switch (user.IdRole) // Разделение по ролям
                {
                case 1:
                    AdminWin adminWin = new AdminWin(user);     // Переход на окно администратора
                    this.Hide();
                    adminWin.ShowDialog();
                    this.Close();
                    break;

                case 2:
                    ReaderWin mainWin = new ReaderWin(user);     // Переход на рабочее окно пользователя
                    this.Hide();
                    mainWin.ShowDialog();
                    this.Close();
                    break;
                }
            }
            else
            {
                errorCounter++;

                if (errorCounter > 2000) //Неправильный ввод пароля
                {
                    MessageBox.Show("Обнаружен слишком низкий IQ " +
                                    "\nПриведите к рабочей станции человека \nс " +
                                    "самым высоким IQ в комнате и перезапустите программу!",
                                    "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);

                    btnLogin.Visibility = Visibility.Hidden;
                }
                else
                {
                    MessageBox.Show("Логин или пароль введены неверно!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                }

                if (txbCapchaEnter.Text.ToLower() != txtCapcha.Text.ToLower() && cpActivate == 1) //неправильно введена капча
                {
                    MessageBox.Show("Неправильно введена капча!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                }

                if (errorCounter > 2) // Открытие капчи при трёх ошибках
                {
                    CapchaShow();
                    cpActivate = 1;
                }

                if (cpActivate == 1) // Получение новой капчи при первом открытии
                {
                    CapchaGet();
                }
            }
        }