public static async Task InitializeAsync(UserManager <User> userManager, RoleManager <Role> roleManager) { _userManager = userManager; _roleManager = roleManager; // admin login and pass string adminEmail = "*****@*****.**"; string password = "******"; // adding roles if (await roleManager.FindByNameAsync("admin") == null) { await roleManager.CreateAsync(new Role("admin")); } if (await roleManager.FindByNameAsync("user") == null) { await roleManager.CreateAsync(new Role("user")); } if (await roleManager.FindByNameAsync("moderator") == null) { await roleManager.CreateAsync(new Role("moderator")); } // adding admin AddingUser admin = new AddingUser { Password = "******", UserName = "******" }; IdentityResult result = await AddUserAccount(admin); if (result.Succeeded) { await AppointRoleToUser(admin, "admin"); } // adding other users List <AddingUser> addingUsers = new List <AddingUser> { new AddingUser { UserName = "******", Password = "******" }, new AddingUser { UserName = "******", Password = "******" }, new AddingUser { UserName = "******", Password = "******" }, }; foreach (var item in addingUsers) { IdentityResult resultOfAdd = await AddUserAccount(item); if (resultOfAdd.Succeeded) { await AppointRoleToUser(item, "user"); } } }
private static async Task <IdentityResult> AddUserAccount(AddingUser user) { IdentityResult result; User addedUser = new User { Email = user.UserName, UserName = user.UserName }; if (await _userManager.FindByNameAsync(user.UserName) == null) { result = await _userManager.CreateAsync(addedUser, user.Password); } else { IdentityError identityError = new IdentityError { Description = "User don't adding" }; result = IdentityResult.Failed(identityError); } return(result); }
private static async Task AppointRoleToUser(AddingUser user, string role) { User userForRole = await _userManager.FindByEmailAsync(user.UserName); await _userManager.AddToRolesNVAsync(userForRole, new string[] { role }); }