public override void AddUsersToRoles(string[] usernames, string[] roleNames)
{
ReadRoleDataStore();
var currentRoles = new List<string>(this.GetAllRoles());
if (usernames.Length != 0 && roleNames.Length != 0)
{
foreach (var rolename in roleNames.Where(rolename => !currentRoles.Contains(rolename) && !rolename.Equals(BlogConfig.AnonymousRole, StringComparison.OrdinalIgnoreCase)))
{
this.roles[Blog.CurrentInstance.Id].Add(new Role(rolename, new List<string>(usernames)));
}
foreach (var role in this.roles[Blog.CurrentInstance.Id])
{
var role1 = role;
foreach (var s in from name in roleNames
where role1.Name.Equals(name, StringComparison.OrdinalIgnoreCase)
from s in usernames
where !role1.Users.Contains(s)
select s)
{
role.Users.Add(s);
}
}
}
this.Save();
}