private void GoBack_Click(object sender, RoutedEventArgs e) { MessageBoxResult res = MessageBox.Show("Вы уверены, что хотите вернуться?", "Подтверждение действия", MessageBoxButton.YesNo, MessageBoxImage.Question); if (res == MessageBoxResult.Yes) { ListenerProfile listenerProfile = new ListenerProfile(user); listenerProfile.Show(); this.Close(); } }
private void SaveChanges_Click(object sender, RoutedEventArgs e) { string oldPassword = OldPasswordInput.Password; string newPassword = PasswordInput.Password; string passwordRepeat = PasswordRepeatInput.Password; var hash = new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(oldPassword)); string passwordHash = string.Concat(hash.Select(b => b.ToString("x2"))); if (passwordHash != user.userPasswordHash) { MessageBox.Show("Неверно введён старый пароль.", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (newPassword.Length < 6) { MessageBox.Show("Новый пароль должен содержать не менее 6 символов. Пожалуйста, позаботьтесь о вашей безопасности и придумайте пароль подлиннее.", "Слишком короткий пароль", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (newPassword.Length > 128) { var result = MessageBox.Show("Ваш новый пароль длинее 128 символов. Его придется долго вводить и ещё дольше запоминать. Вы уверены, хотите продолжить?", "Очень длинный пароль", MessageBoxButton.YesNo, MessageBoxImage.Exclamation); if (result == MessageBoxResult.Yes) { } else { return; } } if (newPassword != passwordRepeat) { MessageBox.Show("Повторно введённый пароль не совпадает с новым паролем. Пожалуйста, убедитесь в том, что Вы ввели всё верно.", "Неверный повторно введённый пароль", MessageBoxButton.OK, MessageBoxImage.Error); return; } else { var hashNew = new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(newPassword)); string passwordHashNew = string.Concat(hashNew.Select(b => b.ToString("x2"))); user.userPasswordHash = passwordHashNew; db.Entry(user).Property("userPasswordHash").IsModified = true; db.SaveChanges(); MessageBox.Show("Пароль успешно обновлён!", "Смена пароля", MessageBoxButton.OK, MessageBoxImage.Information); ListenerProfile listenerProfile = new ListenerProfile(user); listenerProfile.Show(); this.Close(); } }
private void LogIn_Click(object sender, RoutedEventArgs e) { string login = LoginInput.Text.Trim(); string password = PasswordInput.Password; if (login == "" || password == "") { MessageBox.Show("Кажется, Вы заполнили не все поля. Пожалуйста, исправьте это.", "Не все поля заполнены", MessageBoxButton.OK, MessageBoxImage.Error); return; } else { var hash = new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(password)); string passwordHash = string.Concat(hash.Select(b => b.ToString("x2"))); users user; user = db.users.Where(u => u.userLogin == login && u.userPasswordHash == passwordHash).FirstOrDefault(); if (user is null) { MessageBox.Show("Такого пользователя нет или неверно введен пароль", "Ошибка входа", MessageBoxButton.OK, MessageBoxImage.Error); } else { int userId = user.userId; int userAccessLevel = user.userAccessLevel; if (userAccessLevel == 1) { ListenerProfile listenerProfile = new ListenerProfile(user); listenerProfile.Show(); this.Close(); } else if (userAccessLevel == 2) { HostProfile hostProfile = new HostProfile(); hostProfile.Show(); this.Close(); } else { MessageBox.Show("Ошибка"); } } } }