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);
            }
        }