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)); }
public ActionResult ChangePasswordDialog(string id) { var model = new ChangePasswordDialogViewModel { UserId = id, Caption = Phrases.ChangePassword, Width = "555px" }; return(View(model)); }
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); }