private void OnAnErrorOccurredInJob(object sender, JobLoginFailedEventArgs args) { var interactionFinishedEvent = new ManualResetEventSlim(false); _dispatcher.InvokeAsync(() => RaisePasswordOverlayInteraction(args, interactionFinishedEvent)); interactionFinishedEvent.Wait(); }
private void RaisePasswordOverlayInteraction(JobLoginFailedEventArgs args, ManualResetEventSlim interactionFinishedEvent) { var invalidPasswordMessage = _passwordOverlayTranslation.FormatInvalidPasswordMessage(args.ActionDisplayName); var interaction = new PasswordOverlayInteraction(PasswordMiddleButton.None, _passwordOverlayTranslation.ReenterPassword, invalidPasswordMessage, false); _interactionRequest.Raise(interaction, delegate(PasswordOverlayInteraction overlayInteraction) { if (overlayInteraction.Result == PasswordResult.StorePassword) { args.ContinueAction(interaction.Password); } else { args.AbortAction(); } interactionFinishedEvent.Set(); }); }