public static BusinessLibraryEntities GetContex() { if (_contex == null) { _contex = new BusinessLibraryEntities(); } return(_contex); }
private void Button_Click(object sender, RoutedEventArgs e) { string Name = Login.Text; // Текст введёный пользователем в поле логина string password; // Переменная для пароля введённым пользователем password = Password_1.Password; if (Password_ninjza.IsChecked == true) // Если выбрана галочка для показывание пароля, то в переменную password ложится текст из поля для пароля и наоборот, так как всё реализовано с помошью двух обьектов { password = Password.Text; } else { password = Password_1.Password; } Password.Text = password; // Для шифрования if ((Login.Text != "") || (Password.Text != "")) // Проверка на пустату полей Логина и Пароля { if (Login.Text == "") { MessageBox.Show("Заполните поле логина", "Внимание", MessageBoxButton.OK, MessageBoxImage.Warning); } if (Password.Text == "") { MessageBox.Show("Заполните поле пароля", "Внимание", MessageBoxButton.OK, MessageBoxImage.Warning); } try // Для не предвиденных событий { var userObj = BusinessLibraryEntities.GetContex().Avtorizations.FirstOrDefault(x => x.Login == Login.Text && x.Password == Password.Text); // Проверка и сопастовления введёных данных пользователя с существующеми данными в БД var profer = BusinessLibraryEntities.GetContex().Profer.FirstOrDefault(); // Для вытягивания данных о руководителях if (userObj == null) // Если пользователь ввёл не правильно данные { MessageBox.Show("Такого пользователя нет", "Ошибка Авторизации", MessageBoxButton.OK, MessageBoxImage.Warning); num += 1; // Счётчик для 5 неправельных вводов if (num == 5) // В этом блоке отключаем кнопку и задерживаем время на 10сек, до аовторных попыток { btnOpen.IsEnabled = false; MessageBox.Show("Вы использовали пять попыток входа подождите 10 секунд, и попробуйте ещё раз", "Внимание", MessageBoxButton.OK, MessageBoxImage.Warning); num = 0; Thread.Sleep(10000); btnOpen.IsEnabled = true; } } else { var user = ""; if (userObj.id_Pofer == profer.id_Profer) // Сравниваем в БД Данные Руководителей { user = profer.Name + " " + profer.FName + " " + profer.LName; // Создали ранее переменную в которую сложим ФИО Руково-лей } if (userObj.id_Pofer == 3) { swift = 1; DirectoryInfo admininfo = new DirectoryInfo(admin); if (!admininfo.Exists) // Если файл существует { sw = new StreamWriter(admin); sw.Write(swift); sw.Close(); } } else { swift = 0; DirectoryInfo admininfo = new DirectoryInfo(admin); if (!admininfo.Exists) // Если файл существует { sw = new StreamWriter(admin); sw.Write(swift); sw.Close(); } } MessageBox.Show("Рады вас видить " + $"{user}", // Вобщем это для декора, и какой сотрудник зашёл в приложение "Добро пожаловать"); this.Hide(); // Вскрываем главное Окно MainWindow WorkGo workgo = new WorkGo(); // Создали обьект экземпляра для второго Окна workgo.Show(); // Показываем при успешной попытки this.Close(); // Закрываем главное окно MainWindow if (Load_date.IsChecked == true) // Если галочка стоит на запомнить меня { on = 1; // Как раз помещаем в переменную для активации заполнения полей string Logint = Login.Text; string passwordL = Password.Text; string PasswordPas = Password_1.Password; if (passwordL == "") // Если пустое поле textbox пароля, заполненяется с Password так как эот поле каторе в начеле видно!!! { passwordL = PasswordPas; } DirectoryInfo directoryInfo = new DirectoryInfo(patch); // Организация директория путя к файлу Логина DirectoryInfo directoryInfo2 = new DirectoryInfo(patch1); // Организация директория путя к файлу Пароля DirectoryInfo info = new DirectoryInfo(number); // Организация директория путя к файлу активацию try // Способ обхода не предвиденных действий { if (!directoryInfo.Exists) // Если файл существует { sw = new StreamWriter(patch); sw.Write(Logint); sw.Close(); } if (!directoryInfo2.Exists) // Если файл существует { sw = new StreamWriter(patch1); sw.Write(passwordL); sw.Close(); } if (!info.Exists) // Если файл существует { sw = new StreamWriter(number); sw.Write(on); sw.Close(); } } catch (Exception ex) // Показывает об не предведенных ошибках { MessageBox.Show(ex.Message); } } else // Если снял галочку, с запоминания!!! { on = 0; // Чтобы не ативировать запоминания данных входа sw = new StreamWriter(number); // Для записи чтобы не было багов, так как в файле 1, и если мы не работает sw.Write(on); sw.Close(); } } } catch (Exception ex) // Показывает об не предведенных ошибках { MessageBox.Show("Ошибка " + ex.Message.ToString(), "Критичиская работа приложения", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Заполните поля авторизации", "Внимание", MessageBoxButton.OK, MessageBoxImage.Warning); } }