コード例 #1
0
        protected void ChangePassword()
        {
            ChangePasswordDialog    dialog = new ChangePasswordDialog();
            ChangePasswordViewModel vm     = new ChangePasswordViewModel(LoggedUser);

            dialog.DataContext = vm;
            vm.RequestClose   += (x, e) => dialog.Close();
            dialog.ShowDialog();
        }
コード例 #2
0
        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();
        }