Add administrator editing
This commit is contained in:
@@ -14,6 +14,34 @@ namespace InventoryTraker.Web.Migrations
|
||||
{
|
||||
public static class SeedData
|
||||
{
|
||||
|
||||
public static void AddAdminRole()
|
||||
{
|
||||
using (var context = new AppDbContext())
|
||||
AddAdminRole(context);
|
||||
}
|
||||
|
||||
private static void AddAdminRole(AppDbContext context)
|
||||
{
|
||||
var manager = new ApplicationRoleManager(new RoleStore<IdentityRole>(context));
|
||||
if (!manager.RoleExists(ApplicationRoleManager.AdminRoleName))
|
||||
{
|
||||
var result = manager.Create(new IdentityRole(ApplicationRoleManager.AdminRoleName));
|
||||
}
|
||||
|
||||
// if no users are admins, make them all!
|
||||
var adminRole = manager.Roles.First(r => r.Name == ApplicationRoleManager.AdminRoleName);
|
||||
var userManager = new ApplicationUserManager(new UserStore<User>(context), null);
|
||||
var admins = userManager.Users.Where(u => u.Roles.Any(r => r.RoleId == adminRole.Id));
|
||||
if (!admins.Any())
|
||||
{
|
||||
foreach (var user in userManager.Users.ToList())
|
||||
{
|
||||
userManager.AddToRole(user.Id, ApplicationRoleManager.AdminRoleName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
using (var context = new AppDbContext())
|
||||
|
||||
Reference in New Issue
Block a user