public SelectRoleEditorViewModel(MacheteRole role) { RoleName = role.Name; RoleId = role.Id; }
public static async Task Initialize(MacheteContext db) { string[] roleNames = { "Administrator", "Manager", "Check-in", "PhoneDesk", "Teacher", "User", "Hirer" }; string[] adminRoleNames = { "Administrator", "Teacher", "User" }; var roleStore = new MacheteRoleStore(db, true); var userStore = new MacheteUserStore(db, true); var macheteUsers = new List <MacheteUser> { new MacheteUser { UserName = "******", IsApproved = true, Email = "*****@*****.**" }, new MacheteUser { UserName = "******", IsApproved = true, Email = "*****@*****.**" } }; foreach (var roleName in roleNames) { var role = new MacheteRole { Name = roleName, NormalizedName = roleName.ToUpper(), ConcurrencyStamp = Guid.NewGuid().ToString() }; // spent time on validation replication; it's not worth it await roleStore.SetNormalizedRoleNameAsync(role, roleName, CancellationToken.None); await roleStore.CreateAsync(role, CancellationToken.None); } foreach (var user in macheteUsers) { await userStore.SetSecurityStampAsync(user, CancellationToken.None); var hasher = new PasswordHasher <MacheteUser>(); user.PasswordHash = hasher.HashPassword(user, "ChangeMe"); // TODO lockout await userStore.SetNormalizedUserNameAsync(user, user.UserName.ToUpper(), CancellationToken.None); await userStore.SetNormalizedEmailAsync(user, user.Email, CancellationToken.None); await userStore.CreateAsync(user, CancellationToken.None); } var adminUser = await userStore.FindByEmailAsync("*****@*****.**", CancellationToken.None); var regularUser = await userStore.FindByEmailAsync("*****@*****.**", CancellationToken.None); foreach (var adminRole in adminRoleNames) { await userStore.AddToRoleAsync(adminUser, adminRole, CancellationToken.None); } }