public override string[] FindUsersInRole(string roleName, string usernameToMatch)
{
var users = new List<string>();
using (var conn = this.CreateConnection())
{
if (conn.HasConnection)
{
var sqlQuery = string.Format(
" SELECT ur.UserName " +
" FROM {0}UsersRoles ur " +
" WHERE ur.BlogID = {1}blogid " +
" AND ur.Role = {1}role " +
" AND ur.UserName LIKE {1}name", this.tablePrefix, this.parmPrefix);
using (var cmd = conn.CreateTextCommand(sqlQuery))
{
var parms = cmd.Parameters;
parms.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
parms.Add(conn.CreateParameter(FormatParamName("role"), roleName));
parms.Add(conn.CreateParameter(FormatParamName("name"), string.Format("{0}%", usernameToMatch)));
using (var rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
if (!rdr.IsDBNull(0))
{
users.Add(rdr.GetString(0));
}
}
}
}
}
}
return users.ToArray();
}