BlogEngine.Core.Providers.XmlRoleProvider.RemoveUsersFromRoles C# (CSharp) Method

RemoveUsersFromRoles() public method

Removes the specified user names from the specified roles for the configured applicationName.
public RemoveUsersFromRoles ( string usernames, string roleNames ) : void
usernames string /// A string array of user names to be removed from the specified roles. ///
roleNames string /// A string array of role names to remove the specified user names from. ///
return void
        public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
        {
            ReadRoleDataStore();

            if (usernames.Length != 0 && roleNames.Length != 0)
            {
                foreach (var role in this.roles[Blog.CurrentInstance.Id])
                {
                    var role1 = role;
                    if (!roleNames.Any(name => role1.Name.Equals(name, StringComparison.OrdinalIgnoreCase)))
                    {
                        continue;
                    }

                    foreach (var user in usernames)
                    {
                        if (role.Name.Equals(
                            BlogConfig.AdministratorRole, StringComparison.OrdinalIgnoreCase))
                        {
                            if (role.Users.Count != 1)
                            {
                                // if (role.Users.Contains(user))
                                // role.Users.Remove(user);
                                RemoveItemFromList(role.Users, user);
                            }
                        }
                        else
                        {
                            // if (role.Users.Contains(user))
                            // role.Users.Remove(user);
                            RemoveItemFromList(role.Users, user);
                        }
                    }
                }
            }

            this.Save();
        }