private void RegisterCommand(object sender, ExecutedRoutedEventArgs e) { if (txtUserPassword.Password == txtUserRePassword.Password) { if (txtUsername.Text != "" && txtUserLogin.Text != "" && txtSecretWord.Text != "" && txtUserRePassword.Password != "" && txtUserSurname.Text != "" && txtUserSurname.Text != "" && txtUserRePassword.Password != "") { using (Editor3DEntities db = new Editor3DEntities()) { using (var transaction = db.Database.BeginTransaction()) try { SaltedHash sh = new SaltedHash(txtUserPassword.Password); login nw = new login(); UserInfo uInfo = new UserInfo(); Users users = new Users(); uInfo.Name = txtUsername.Text; uInfo.Surname = txtUserSurname.Text; uInfo.LastName = txtUserMiddleName.Text; uInfo.SecretWord = txtSecretWord.Text; uInfo.CreationTime = DateTime.Now; users.Login = txtUserLogin.Text; users.HashedPassword = sh.Hash; users.Salt = sh.Salt; db.Users.Add(users); uInfo.UserLogin = users.Login; db.UserInfo.Add(uInfo); db.SaveChanges(); transaction.Commit(); MessageBox.Show("Пользователь зарегистрирован", "Ok!", MessageBoxButton.OK, MessageBoxImage.Asterisk); this.Close(); nw.Show(); } catch (Exception ex) { transaction.Rollback(); MessageBox.Show("Учётная запись не была создана", "Ошибка!", MessageBoxButton.OK, MessageBoxImage.Error); } } } else { MessageBox.Show("Не все поля заполнены!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Asterisk); } } else { MessageBox.Show("Пароли не совпадают!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Asterisk); } }
private void BtnSubmit_OnClick(object sender, ExecutedRoutedEventArgs e) { using (Editor3DEntities db = new Editor3DEntities()) { if (txtUsername.Text != "" && txtPassword.Password != "") { SaltedHash sh = new SaltedHash(txtPassword.Password); Users usr = db.Users.Find(txtUsername.Text); if (usr != null) { bool verify = sh.Verify(usr.Salt, usr.HashedPassword, txtPassword.Password); if (verify == true) { if (userName == null) { MainWindow mainWindow = new MainWindow(); UserLogin = usr.Login; mainWindow.DB_Enter_Button.Header = usr.Login; this.Close(); mainWindow.Show(); } else { UserLogin = usr.Login; userName.Header = usr.Login; this.Close(); } } else { MessageBox.Show("Неверно введён логин или пароль", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } } else { MessageBox.Show("Неверно введён логин или пароль", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } } else { MessageBox.Show("Все поля должны быть заполнены", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } } }