in src/Tools/Administrative.Cli/Commands/Admin/CreateAdminCommand.cs [50:105]
private async Task<int> OnExecute(IConsole console)
{
var userManager = identityServicesAccessor.GetIdentityService<ConsoleUserManager<ApplicationUser>>(Verbose);
console.CancelKeyPress += userManager.ConsoleOnCancelKeyPress;
var user = new ApplicationUser(Guid.NewGuid().ToString())
{
UserName = Name
};
if (!Verbose)
{
console.WriteLine($"Start creating new user with {Name} name.");
}
IdentityResult result = await userManager.CreateAsync(user, Password);
if (!result.Succeeded)
{
if (!Verbose)
{
console.Error.WriteLine($"Error on creating user: {FormatIdentityErrors(result.Errors)}");
}
return 1;
}
var adminRoleName = Roles.Admin.ToString("G");
if (!Verbose)
{
console.WriteLine($"Successfully created user with {Name} name.");
console.WriteLine($"Start assigning {adminRoleName} to {Name} user.");
}
result = await userManager.AddToRoleAsync(user, Roles.Admin.ToString("G"));
if (!result.Succeeded)
{
if (!Verbose)
{
console.Error.WriteLine($"Error on assigning {adminRoleName} to user {FormatIdentityErrors(result.Errors)}");
}
return 1;
}
if (!Verbose)
{
console.WriteLine($"Successfully assigning {adminRoleName} to {Name} user.");
}
return 1;
}