Add administrator editing

This commit is contained in:
2016-09-27 11:56:10 -04:00
parent 75b7c02979
commit 3caf0bd766
13 changed files with 207 additions and 59 deletions
@@ -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())