public IQueryable<WebUser> GetUsersInRole(WebUserRole role)
        {
            if (!RoleExists(role))
                throw new ArgumentException("MissingRole");

            return _db.WebUserRoles.SingleOrDefault(rl => rl.Id == role.Id).Users.AsQueryable();
        }
        public bool RoleExists(WebUserRole role)
        {
            if (role == null)
                return false;

            return (_db.WebUserRoles.SingleOrDefault(r => r.Id == role.Id || r.RoleName == role.RoleName) != null);
        }
        public void DeleteRole(WebUserRole role)
        {
            if (!RoleExists(role))
                throw new ArgumentException("Role doesn't exist");

            _db.WebUserRoles.Remove(role);
        }
 public void AddRoleToUser(WebUser user, WebUserRole role)
 {
     if(user.Roles == null) user.Roles = new List<WebUserRole>();
     user.Roles.Add(role);
     SaveChanges();
 }
        public void AddRole(string roleName)
        {
            var role = new WebUserRole()
            {
                RoleName = roleName
            };

            AddRole(role);
        }
        public void AddRole(WebUserRole role)
        {
            if (RoleExists(role))
                throw new ArgumentException("RoleAlreadyExists");

            _db.WebUserRoles.Add(role);
        }