private void Continue_Click(object sender, RoutedEventArgs e) { if (BirthDateInput.SelectedDate > DateTime.Today) { MessageBox.Show("Дата рождения не может быть позже текущего дня", "Некорректная дата рождения", MessageBoxButton.OK, MessageBoxImage.Error); } else { string surname = SurnameInput.Text.Trim(); string name = NameInput.Text.Trim(); db.listeners.Attach(listener); if (!(surname == "")) { listener.listenerSurname = surname; db.Entry(listener).Property("listenerSurname").IsModified = true; } if (!(name == "")) { listener.listenerName = name; db.Entry(listener).Property("listenerName").IsModified = true; } if (!(BirthDateInput.SelectedDate is null)) { DateTime birthDate = (DateTime)BirthDateInput.SelectedDate; listener.listenerBirthDate = birthDate; db.Entry(listener).Property("listenerBirthDate").IsModified = true; } db.SaveChanges(); MainWindow mainWindow = new MainWindow(); mainWindow.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(); } }