Exemplo n.º 1
0
        void IClassifiedsInterface.Update(ProfileClassified c)
        {
            var replaceVals = new Dictionary <string, object>
            {
                ["classifieduuid"]  = c.ClassifiedID,
                ["creatoruuid"]     = c.Creator.ID,
                ["creationdate"]    = c.CreationDate,
                ["expirationdate"]  = c.ExpirationDate,
                ["category"]        = c.Category,
                ["name"]            = c.Name,
                ["description"]     = c.Description,
                ["parceluuid"]      = c.ParcelID,
                ["parentestate"]    = c.ParentEstate,
                ["snapshotuuid"]    = c.SnapshotID,
                ["simname"]         = c.SimName,
                ["posglobal"]       = c.GlobalPos,
                ["parcelname"]      = c.ParcelName,
                ["classifiedflags"] = c.Flags,
                ["priceforlisting"] = c.Price
            };

            using (var conn = new MySqlConnection())
            {
                conn.Open();
                conn.ReplaceInto("classifieds", replaceVals);
            }
        }
        public bool TryGetValue(UGUI user, UUID id, out ProfileClassified classified)
        {
            classified = default(ProfileClassified);
            RwLockedDictionary <UUID, ProfileClassified> classifieds;

            return(m_Classifieds.TryGetValue(user.ID, out classifieds) && classifieds.TryGetValue(id, out classified));
        }
Exemplo n.º 3
0
        private void HandleClassifiedInfoRequest(ViewerAgent agent, SceneInterface scene, Message m)
        {
            var req = (ClassifiedInfoRequest)m;

            if (req.AgentID != req.CircuitAgentID ||
                req.SessionID != req.CircuitSessionID)
            {
                return;
            }

            KeyValuePair <UGUI, int> kvp;

            if (!m_ClassifiedQueryCache.TryGetValue(req.ClassifiedID, out kvp))
            {
                return;
            }

            ProfileServiceData serviceData;
            UGUI uui;

            try
            {
                serviceData = LookupProfileService(scene, kvp.Key.ID, out uui);
            }
            catch
            {
                return;
            }

            try
            {
                ProfileClassified cls = serviceData.ProfileService.Classifieds[kvp.Key, req.ClassifiedID];
                var reply             = new ClassifiedInfoReply
                {
                    AgentID = req.AgentID,

                    ClassifiedID    = cls.ClassifiedID,
                    CreatorID       = cls.Creator.ID,
                    CreationDate    = cls.CreationDate,
                    ExpirationDate  = cls.ExpirationDate,
                    Category        = cls.Category,
                    Name            = cls.Name,
                    Description     = cls.Description,
                    ParcelID        = cls.ParcelID,
                    ParentEstate    = cls.ParentEstate,
                    SnapshotID      = cls.SnapshotID,
                    SimName         = cls.SimName,
                    PosGlobal       = cls.GlobalPos,
                    ParcelName      = cls.ParcelName,
                    ClassifiedFlags = cls.Flags,
                    PriceForListing = cls.Price
                };
                agent.SendMessageAlways(reply, scene.ID);
            }
            catch
            {
                /* do not expose exceptions to caller */
            }
        }
Exemplo n.º 4
0
 bool IClassifiedsInterface.TryGetValue(UGUI user, UUID id, out ProfileClassified classified)
 {
     using (var conn = new MySqlConnection(m_ConnectionString))
     {
         conn.Open();
         using (var cmd = new MySqlCommand("SELECT * FROM classifieds WHERE classifieduuid = @uuid LIMIT 1", conn))
         {
             cmd.Parameters.AddParameter("@uuid", id);
             using (MySqlDataReader reader = cmd.ExecuteReader())
             {
                 if (reader.Read())
                 {
                     classified = new ProfileClassified
                     {
                         ClassifiedID   = reader.GetUUID("classifieduuid"),
                         Category       = reader.GetInt32("category"),
                         CreationDate   = reader.GetDate("creationdate"),
                         Creator        = reader.GetUGUI("creatoruuid"),
                         Description    = reader.GetString("description"),
                         ExpirationDate = reader.GetDate("expirationdate"),
                         Flags          = reader.GetByte("classifiedflags"),
                         GlobalPos      = reader.GetVector3("posglobal"),
                         Name           = reader.GetString("name"),
                         ParcelID       = reader.GetParcelID("parceluuid"),
                         ParcelName     = reader.GetString("parcelname"),
                         ParentEstate   = reader.GetInt32("parentestate"),
                         Price          = reader.GetInt32("priceforlisting"),
                         SimName        = reader.GetString("simname"),
                         SnapshotID     = reader.GetUUID("snapshotuuid")
                     };
                     return(true);
                 }
             }
         }
     }
     classified = default(ProfileClassified);
     return(false);
 }
 public void Update(ProfileClassified classified)
 {
     m_Classifieds[classified.Creator.ID][classified.ClassifiedID] = classified;
 }
Exemplo n.º 6
0
 public bool TryGetValue(UGUI user, UUID id, out ProfileClassified classified)
 {
     classified = default(ProfileClassified);
     return(false);
 }
Exemplo n.º 7
0
 public void Update(ProfileClassified classified)
 {
     throw new NotSupportedException();
 }