Esempio n. 1
0
        /// <summary>
        ///     Updates a user profile stored in the DB
        /// </summary>
        /// <param name="user">The profile data to use to update the DB</param>
        public override bool UpdateUserProfile(UserProfileData user)
        {
            MySQLSuperManager dbm = GetLockedConnection("UpdateUserProfile");

            try
            {
                dbm.Manager.updateUserRow(user.ID, user.FirstName, user.SurName, user.Email, user.PasswordHash, user.PasswordSalt,
                                          user.HomeRegion, user.HomeRegionID, user.HomeLocation.X, user.HomeLocation.Y,
                                          user.HomeLocation.Z, user.HomeLookAt.X,
                                          user.HomeLookAt.Y, user.HomeLookAt.Z, user.Created, user.LastLogin,
                                          user.UserInventoryURI,
                                          user.UserAssetURI, user.CanDoMask, user.WantDoMask, user.AboutText,
                                          user.FirstLifeAboutText, user.Image, user.FirstLifeImage, user.WebLoginKey,
                                          user.UserFlags, user.GodLevel, user.CustomType, user.Partner);
            }

            finally
            {
                dbm.Release();
            }

            return(true);
        }
Esempio n. 2
0
        public override List <AvatarPickerAvatar> GeneratePickerResults(UUID queryID, string query)
        {
            List <AvatarPickerAvatar> returnlist = new List <AvatarPickerAvatar>();

            Regex objAlphaNumericPattern = new Regex("[^a-zA-Z0-9]");

            string[] querysplit;
            querysplit = query.Split(' ');
            if (querysplit.Length > 1 && querysplit[1].Trim() != String.Empty)
            {
                Dictionary <string, object> param = new Dictionary <string, object>();
                param["?first"]  = objAlphaNumericPattern.Replace(querysplit[0], String.Empty) + "%";
                param["?second"] = objAlphaNumericPattern.Replace(querysplit[1], String.Empty) + "%";
                MySQLSuperManager dbm = GetLockedConnection("GeneratePickerResults");

                try
                {
                    IDbCommand result =
                        dbm.Manager.Query(
                            "SELECT UUID,username,lastname FROM " + m_usersTableName +
                            " WHERE username like ?first AND lastname like ?second LIMIT 100",
                            param);
                    IDataReader reader = result.ExecuteReader();

                    while (reader.Read())
                    {
                        AvatarPickerAvatar user = new AvatarPickerAvatar();
                        user.AvatarID  = new UUID((string)reader["UUID"]);
                        user.firstName = (string)reader["username"];
                        user.lastName  = (string)reader["lastname"];
                        returnlist.Add(user);
                    }
                    reader.Dispose();
                    result.Dispose();
                }
                catch (Exception e)
                {
                    dbm.Manager.Reconnect();
                    m_log.Error(e.ToString());
                    return(returnlist);
                }
                finally
                {
                    dbm.Release();
                }
            }
            else
            {
                MySQLSuperManager dbm = GetLockedConnection("GeneratePickerResults");

                try
                {
                    Dictionary <string, object> param = new Dictionary <string, object>();
                    param["?first"] = objAlphaNumericPattern.Replace(querysplit[0], String.Empty) + "%";

                    IDbCommand result =
                        dbm.Manager.Query(
                            "SELECT UUID,username,lastname FROM " + m_usersTableName +
                            " WHERE username like ?first OR lastname like ?first LIMIT 100",
                            param);
                    IDataReader reader = result.ExecuteReader();

                    while (reader.Read())
                    {
                        AvatarPickerAvatar user = new AvatarPickerAvatar();
                        user.AvatarID  = new UUID((string)reader["UUID"]);
                        user.firstName = (string)reader["username"];
                        user.lastName  = (string)reader["lastname"];
                        returnlist.Add(user);
                    }
                    reader.Dispose();
                    result.Dispose();
                }
                catch (Exception e)
                {
                    dbm.Manager.Reconnect();
                    m_log.Error(e.ToString());
                    return(returnlist);
                }
                finally
                {
                    dbm.Release();
                }
            }
            return(returnlist);
        }