public override void AddUsersToRoles(string[] usernames, string[] roleNames)
{
using (var conn = this.CreateConnection())
{
if (conn.HasConnection)
{
using (var cmd = conn.CreateCommand())
{
cmd.CommandType = CommandType.Text;
var parms = cmd.Parameters;
foreach (var user in usernames)
{
//parms.Clear();
//cmd.CommandText = string.Format("SELECT UserID FROM {0}Users WHERE BlogID = {1}blogid AND UserName = {1}user", this.tablePrefix, this.parmPrefix);
//parms.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
//parms.Add(conn.CreateParameter(FormatParamName("user"), user));
//var userId = Int32.Parse(cmd.ExecuteScalar().ToString());
foreach (var role in roleNames)
{
if (!role.Equals(BlogConfig.AnonymousRole))
{
//parms.Clear();
//cmd.CommandText = string.Format("SELECT RoleID FROM {0}Roles WHERE BlogID = {1}blogid AND Role = {1}role", this.tablePrefix, this.parmPrefix);
//parms.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
//parms.Add(conn.CreateParameter(FormatParamName("role"), role));
//var roleId = Int32.Parse(cmd.ExecuteScalar().ToString());
parms.Clear();
cmd.CommandText = string.Format("INSERT INTO {0}UserRoles (BlogID, UserName, Role) VALUES ({1}blogID, {1}username, {1}role)", this.tablePrefix, this.parmPrefix);
parms.Add(conn.CreateParameter(FormatParamName("blogID"), Blog.CurrentInstance.Id.ToString()));
parms.Add(conn.CreateParameter(FormatParamName("username"), user.Trim()));
parms.Add(conn.CreateParameter(FormatParamName("role"), role.Trim()));
cmd.ExecuteNonQuery();
}
}
}
}
}
}
// This needs to be called in order to keep the Right class in sync.
Right.RefreshAllRights();
}