public User Get(int userId) { User user = null; var comm = GetCommand("SPUsersGet"); comm.AddParameter<int>(this.Factory, "UserId", userId); var dr = GetFirstRow(comm); if (dr != null) { user = ParseUserInfo(dr); user.ExternalProfileUrl = dr.GetString("UserExternalProfileUrl"); user.Email = dr.GetString("UserEmail"); user.EmailPolicy = (EmailPolicy)(dr.GetNullable<int?>("UserEmailPolicy") ?? (int)EmailPolicy.None); user.Photo = dr.GetString("UserPhoto"); user.Website = dr.GetString("UserWebsite"); user.BirthDate = dr.GetNullableStruct<DateTime>("UserBirthDate"); user.Warned = (!dr.IsNull("WarningStart")) && dr.GetNullableStruct<bool>("WarningRead") != true; user.Suspended = (!dr.IsNull("SuspendedStart")) && (dr.IsNull("SuspendedEnd") || dr.GetNullableStruct<DateTime>("SuspendedEnd") >= DateTime.UtcNow); user.Banned = !dr.IsNull("BannedStart"); user.SuspendedEnd = dr.GetNullableStruct<DateTime>("SuspendedEnd"); user.ModeratorReason = dr.GetNullableStruct<ModeratorReason>("ModeratorReason"); user.ModeratorReasonMessage = dr.GetString("ModeratorReasonFull"); } //se obtiene el perfil desde construnario UserProfileAcces profileaccess = new UserProfileAcces(MysqlconnectionString); user.Construnario_Profile = profileaccess.Get_UserProfile(dr.Get<string>("userproviderid")); return user; }