//Метод для добавления всех найденных пользователей из БД в DataGrid private void AddAccounts() { dgUsersAccounts.ItemsSource = lstaccounts; //Получение значений из таблицы БД foreach (DataRow row in SQLCon.GetDateTable("SELECT UserName, IsAdmin FROM tblAccounts").Rows) { if (!(bool)row["IsAdmin"]) { lstaccounts.Add(new Account(row["UserName"] as string, "Пользователь")); } else { lstaccounts.Add(new Account(row["UserName"] as string, "Администратор")); } } }
/// <summary> ///Событие нажатия на кнопку окна "Вход" /// </summary> private void BtnLogin_Click(object sender, RoutedEventArgs e) { //Проверка корректности введеного логина if (!User.IsCorrectName(tbxUserName.Text, out string message)) { MessageBox.Show(message); tbxUserName.Focus(); } //Проверка введен ли пароль else if (string.IsNullOrEmpty(pbxPassword.Password)) { MessageBox.Show("Введите пароль!"); pbxPassword.Focus(); } else { //Проверка подключения к БД if (!SQLCon.ConnectToDatabase()) { Close(); } //Получим хэш-пароль, применив алгоритм ГОСТ 34.11-2012 byte[] password = Encoding.GetEncoding(1251).GetBytes(pbxPassword.Password); GOST o = new GOST(512 /*256*/); byte[] hash_code = o.H(password); string hashpassword = BitConverter.ToString(hash_code); //Получаем таблицу с учетными данными пользователя из БД, где найдутся такой логин и пароль в одной строке DataTable dateTable = SQLCon.GetDateTable($"SELECT * FROM tblAccounts WHERE UserName='******' AND Password='******';"); if (dateTable != null && dateTable.Rows.Count != 0) { User.Name = dateTable.Rows[0]["UserName"] as string; User.Password = dateTable.Rows[0]["Password"] as string; User.IsAdmin = (bool)dateTable.Rows[0]["IsAdmin"]; AccessWindow accessWindow = new AccessWindow(); Close(); accessWindow.ShowDialog(); //MessageBox.Show("Доступ разрешен."); } else { MessageBox.Show("Доступ запрещен. Введен невенрный логин или пароль."); } } }