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