bueno, pues he probado esto:
protected void Button_Click(object sender, EventArgs e)
{
try{
DotNetNuke.Entities.Users.UserInfo usuario = new DotNetNuke.Entities.Users.UserInfo();
usuario.DisplayName = "prueba_boton_display";
usuario.LastName = "prueba_boton_last";
usuario.Username = "prueba_boton_user";
usuario.UserID = 22;
usuario.PortalID = 2;
usuario.Membership.Password = "prueba";
usuario.Membership.Approved = true;
usuario.Membership.Username = "username_mebership";
usuario.Profile.SetProfileProperty("calle", "calle");
DotNetNuke.Entities.Users.UserController.CreateUser(ref usuario);
DotNetNuke.Security.Roles.RoleController rol = new DotNetNuke.Security.Roles.RoleController();
DotNetNuke.Security.Roles.RoleInfo rolinfo = rol.GetRole(8, 4);
DotNetNuke.Security.Roles.RoleController.AddUserRole(usuario,rolinfo,PortalSettings,Null.NullDate,Null.NullDate,UserId,false);
/*DotNetNuke.Data.DataProvider consulta = DotNetNuke.Data.DataProvider.Instance();
string resultado = consulta.ExecuteScript("INSERT INTO {databaseOwner}[{objectQualifier}Users] ([Username],[FirstName],[LastName],[IsSuperUser],[DisplayName],[UpdatePassword],[IsDeleted]) VALUES (N'sql_username','sql_1nombre', 'sql_last', 0, 'sql_displai',0,0)");
string consulta_sql = consulta.ExecuteScript("SELECT [{objectQualifier}Users].[Username] from {databaseOwner}[{objectQualifier}Users]"); */
Label1.Text = "Importación realizada ok a:" + DateTime.Now + "" /*+ resultado*/;
Label1.Visible = true;
}
catch (Exception exc) {
Exceptions.ProcessModuleLoadException(this, exc);
}
}
y cuando pulso el boton aparece:
An error has occurred.
Error: modulename is currently unavailable.