First check for result, then only add role. That mean change the position of UserManager.AddToRole like:
var user = model.GetUser();
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
result = UserManager.AddToRole(user.Id, "User");
You can add multiple roles too if you have a list of roles.
foreach(var role in roles)
{
var isInRole = await UserManager.IsInRoleAsync(userid, role)
if(!isInRole)
{
await UserManager.AddToRoleAsync(userid, role);
}
}