public override bool DeleteUser (string username, bool deleteAllRelatedData)
{
CheckParam ("username", username, 256);
DeleteUserTableMask deleteBitmask = DeleteUserTableMask.MembershipUsers;
if (deleteAllRelatedData)
deleteBitmask |=
DeleteUserTableMask.Profiles |
DeleteUserTableMask.UsersInRoles |
DeleteUserTableMask.WebPartStateUser;
using (DbConnection connection = CreateConnection ()) {
DbCommand command = factory.CreateCommand ();
command.Connection = connection;
command.CommandText = @"aspnet_Users_DeleteUser";
command.CommandType = CommandType.StoredProcedure;
AddParameter (command, "@ApplicationName", ApplicationName);
AddParameter (command, "@UserName", username);
AddParameter (command, "@TablesToDeleteFrom", (int) deleteBitmask);
AddParameter (command, "@NumTablesDeletedFrom", ParameterDirection.Output, 0);
DbParameter returnValue = AddParameter (command, "@ReturnVal", ParameterDirection.ReturnValue, DbType.Int32, null);
command.ExecuteNonQuery ();
if (((int) command.Parameters ["@NumTablesDeletedFrom"].Value) == 0)
return false;
if (GetReturnValue (returnValue) == 0)
return true;
return false;
}
}