public Task <ChangePasswordDialogViewModel> ShowChangePasswordDialog(object ownerWindow, Func <IHavePassword, bool> requestAuthenticate)
        {
            //requestClose parameter for viewModel is set in the next function
            ChangePasswordDialogViewModel viewModel = ChangePasswordDialogViewModel.Create(null, requestAuthenticate);

            return(ShowChangePasswordDialog(ownerWindow, viewModel));
        }
Ejemplo n.º 2
0
        public ActionResult ChangePasswordDialog(string id)
        {
            var model = new ChangePasswordDialogViewModel
            {
                UserId  = id,
                Caption = Phrases.ChangePassword,
                Width   = "555px"
            };

            return(View(model));
        }
Ejemplo n.º 3
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();
        }
        //public Task<ChangePasswordDialogViewModel> ShowChangePasswordDialog(object ownerWindow, Func<IHavePassword, bool> requestAuthenticate)
        //{
        //    TaskCompletionSource<ChangePasswordDialogViewModel> tcs = new TaskCompletionSource<ChangePasswordDialogViewModel>();

        //    View.Dialogs.ChangePasswordDialogView dialog = new View.Dialogs.ChangePasswordDialogView();

        //if (ownerWindow == null)
        //    ownerWindow = _defaultOwnerWindow;

        //    var owner = ownerWindow as Window;

        //    if (owner != null)
        //    {
        //        dialog.Owner = owner;
        //    }

        //    var ownerDefaultEffect = owner?.Effect;

        //    if (owner != null)
        //    {
        //        owner.Effect = new BlurEffect() { Radius = BlurRadius };
        //    }

        //    Action requestClose = () =>
        //    {
        //        dialog.Close();

        //        if (owner != null)
        //        {
        //            owner.Effect = ownerDefaultEffect;
        //        }
        //    };

        //    ChangePasswordDialogViewModel viewModel = ChangePasswordDialogViewModel.Create(requestClose, requestAuthenticate);
        //    //{
        //    //    Message = message,
        //    //    Title = title,
        //    //    IsTwoOptionsMode = false,
        //    //    IconPathMarkup = pathMarkup
        //    //};

        //    dialog.Closed += (sender, e) =>
        //    {
        //        if (viewModel.IsOk)
        //        {
        //            tcs.SetResult(viewModel);
        //        }
        //        else
        //        {
        //            tcs.SetResult(null);
        //        }

        //    };

        //    dialog.DataContext = viewModel;

        //    dialog.ShowDialog();

        //    return tcs.Task;
        //}

        public Task <ChangePasswordDialogViewModel> ShowChangePasswordDialog(object ownerWindow, ChangePasswordDialogViewModel viewModel)
        {
            var tcs = new TaskCompletionSource <ChangePasswordDialogViewModel>();

            View.Dialogs.ChangePasswordDialogView dialog = new View.Dialogs.ChangePasswordDialogView();

            if (ownerWindow == null)
            {
                ownerWindow = _defaultOwnerWindow;
            }

            var owner = ownerWindow as Window;

            if (owner != null)
            {
                dialog.Owner = owner;
            }

            var ownerDefaultEffect = owner?.Effect;

            if (owner != null)
            {
                owner.Effect = new BlurEffect()
                {
                    Radius = BlurRadius
                };
            }

            Action requestClose = () =>
            {
                dialog.Close();

                if (owner != null)
                {
                    owner.Effect = ownerDefaultEffect;
                }
            };

            viewModel.RequestClose = requestClose;

            dialog.Closed += (sender, e) =>
            {
                if (viewModel.IsOk)
                {
                    tcs.SetResult(viewModel);
                }
                else
                {
                    tcs.SetResult(null);
                }
            };

            dialog.DataContext = viewModel;

            dialog.ShowDialog();

            return(tcs.Task);
        }