public override void RemoveUsersFromRoles(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));
//int userId;
//try
//{
// userId = Int32.Parse(cmd.ExecuteScalar().ToString());
//}
//catch
//{
// userId = 0;
//}
//if (userId <= 0)
//{
// continue;
//}
foreach (var role in roleNames)
{
//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("DELETE FROM {0}UserRoles WHERE BlogID = {1}blogid AND UserName = {1}username AND Role = {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();
}