public void RemoveLoginTest()
        {
            // TODO: add unit test for the method 'RemoveLogin'
            RemoveLogin model = null; // TODO: replace null with proper value

            instance.RemoveLogin(model);
        }
Exemple #2
0
        private async Task WebAccountInvokedHandlerCoreAsync(WebAccountCommand command, WebAccountInvokedArgs eventArgs)
        {
            if (eventArgs.Action == WebAccountAction.Remove)
            {
                string loginProvider = command.WebAccount.WebAccountProvider.DisplayName;
                string providerKey   = command.WebAccount.UserName;

                RemoveLogin removeLogin = new RemoveLogin()
                {
                    LoginProvider = loginProvider,
                    ProviderKey   = providerKey
                };

                HttpResult result;
                using (AccountClient accountClient = ClientFactory.CreateAccountClient())
                {
                    result = await accountClient.RemoveLoginAsync(removeLogin);
                }

                if (result.Succeeded)
                {
                    if (loginProvider == localProvider)
                    {
                        settings.ClearPasswordCredentials();
                    }
                }
                else
                {
                    await ErrorDialog.ShowErrorsAsync(result.Errors);
                }
            }
        }
Exemple #3
0
        private async void DeleteAccountMenuItem_Click(object sender, RoutedEventArgs e)
        {
            if (AccountsItemControl.Items.Count == 1)
            {
                MessageBox.Show("You must have at least one account to login");
            }
            else
            {
                Account     account     = (Account)((MenuItem)sender).DataContext;
                RemoveLogin removeLogin = new RemoveLogin()
                {
                    LoginProvider = account.Provider,
                    ProviderKey   = account.ProviderKey,
                };

                HttpResult result;
                using (AccountClient accountClient = ClientFactory.CreateAccountClient())
                {
                    result = await accountClient.RemoveLoginAsync(removeLogin);
                }

                if (result.Succeeded)
                {
                    AccountsItemControl.Items.Remove(account);
                }
                else
                {
                    ErrorDialog.ShowErrors(result.Errors);
                }
            }
        }
Exemple #4
0
        public async Task <IActionResult> RemoveLogin(RemoveLogin account)
        {
            ManageMessageId?message = ManageMessageId.Error;
            var             user    = await GetCurrentUserAsync();

            if (user != null)
            {
                var result = await _userManager.RemoveLoginAsync(user, account.LoginProvider, account.ProviderKey);

                if (result.Succeeded)
                {
                    await _signInManager.SignInAsync(user, isPersistent : false);

                    message = ManageMessageId.RemoveLoginSuccess;
                }
            }
            return(new new RedirectToActionResultResult(nameof(ManageLogins), nameof(ManageController), new { Message = message }));
        }
        private bool TestCommand(RemoveLogin evt, out IEvent e)
        {
            e = null;
            if (user == null)
            {
                return(false);
            }

            if (user.Logins == null)
            {
                return(true);
            }

            var login = user.Logins.FirstOrDefault(x => x.LoginProvider.Equals(evt.LoginProvider) && x.ProviderKey.Equals(evt.ProviderKey));

            if (login != default(ImmutableUserLoginInfo))
            {
                e = new LoginRemoved(evt.LoginProvider, evt.ProviderKey);
            }

            return(true);
        }
Exemple #6
0
 public void Init()
 {
     instance = new RemoveLogin();
 }
Exemple #7
0
        public async Task <ApiResult> RemoveLogin(RemoveLogin request)
        {
            request.User = _currentUserProvider.GetUser();

            return(await _mediator.Send(request));
        }