protected void ChangePassword() { ChangePasswordDialog dialog = new ChangePasswordDialog(); ChangePasswordViewModel vm = new ChangePasswordViewModel(LoggedUser); dialog.DataContext = vm; vm.RequestClose += (x, e) => dialog.Close(); dialog.ShowDialog(); }
public void ShowPasswordChangeDialog() { _vm = new ChangePasswordDialogViewModel(); _vm.Change = new RelayCommand(async o => { if (!Validate(out var errors)) { MessageBox.Show(string.Join(Environment.NewLine, errors), "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } else { try { var result = await _authService.ChangePassword(_vm.OldPassword, _vm.NewPassword); if (result.Status != Status.Updated) { MessageBox.Show(result.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } else { _dialog.Close(); _authService.Logout(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } } }, o => !(string.IsNullOrEmpty(_vm.OldPassword) || string.IsNullOrEmpty(_vm.NewPassword) || string.IsNullOrEmpty(_vm.NewPasswordRepeat))); _vm.Cancel = new RelayCommand(o => _dialog.Close()); _dialog = new ChangePasswordDialog { DataContext = _vm }; _dialog.ShowDialog(); }