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);
     }
 }
예제 #2
0
        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);
                }
            }
        }