public async Task SetupAccount(IEntryAgentsUser user, AgentSetupAccountViewModel agentSetupAccountViewModel) { var agent = await _agentManager.Edit(user.UserName, agentSetupAccountViewModel); // TODO: update email after verification // TODO: update username // https://stackoverflow.com/questions/36367140/aspnet-core-generate-and-change-email-address if (agent.Email != agentSetupAccountViewModel.Email) { agent.Email = agentSetupAccountViewModel.Email; agent.UserName = agentSetupAccountViewModel.Email; await _userManager.UpdateAsync(agent); await _signInManager.RefreshSignInAsync(agent); //await _signInManager.SignInAsync(agent, true); //var token = await _userManager.GenerateChangeEmailTokenAsync(agent, agentSetupAccountViewModel.Email); //await _userManager.ChangeEmailAsync(agent, agentSetupAccountViewModel.Email, token); } }