BgEngine.Infraestructure.Security.CodeFirstRoleProvider.DeleteRole C# (CSharp) Метод

DeleteRole() публичный Метод

public DeleteRole ( string roleName, bool throwOnPopulatedRole ) : bool
roleName string
throwOnPopulatedRole bool
Результат bool
        public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
        {
            if (string.IsNullOrEmpty(roleName))
                    {
                        throw CreateArgumentNullOrEmptyException("roleName");
                    }
                    using (BlogUnitOfWork context = new BlogUnitOfWork(new ModelContextInit()))
                    {
                        dynamic role = context.Roles.FirstOrDefault(Rl => Rl.RoleName == roleName);
                        if (role == null)
                        {
                            throw new InvalidOperationException("Role not found");
                        }
                        if (throwOnPopulatedRole)
                        {
                            dynamic usersInRole = role.Users.Any;
                            if (usersInRole)
                            {
                                throw new InvalidOperationException(string.Format("Role populated: {0}", roleName));
                            }
                        }
                        else
                        {
                            foreach (User usr_loopVariable in role.Users)
                            {
                               var usr = usr_loopVariable;
                               context.Users.Remove(usr);
                            }
                        }
                        context.Roles.Remove(role);
                        context.SaveChanges();
                        return true;
                    }
        }