ASP.NET MVC 5 Windows Identity Foundation – Delete Role with Cascade Delete Users in Role

ASP.NET MVC 5 Windows Identity Foundation – Delete Role with Cascade Delete Users in Role

 
   using System;
   using System.Linq;
   using Microsoft.AspNet.Identity;
   using Microsoft.AspNet.Identity.EntityFramework;
   using CRMPortal.Models;
 
      public void RemoveFromRole(string userId, string roleName)
      {
         UserManager<ApplicationUser> um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
         um.RemoveFromRole(userId, roleName);
      }
 
      public void DeleteRole(string roleId)
      {
         ApplicationDbContext _db = new ApplicationDbContext();
 
         var roleUsers = _db.Users.Where(u => u.Roles.Any(r => r.RoleId == roleId));
         var role = _db.Roles.Find(roleId);
 
         foreach (var user in roleUsers)
         {
            this.RemoveFromRole(user.Id, role.Name);
         }
 
         _db.Roles.Remove(role);
         _db.SaveChanges();
      }