public int CreateNewEstate(EstateSettings es) { object remoteValue = DoRemote(es.ToOSD()); if (remoteValue != null || m_doRemoteOnly) return (int) remoteValue; int estateID = GetEstate(es.EstateOwner, es.EstateName); if (estateID > 0) { return estateID; } // check for system or user estates if ((es.EstateOwner == (UUID) Constants.GovernorUUID)) // Mainland? { es.EstateID = Constants.MainlandEstateID; } else if ( (es.EstateOwner == (UUID) Constants.RealEstateOwnerUUID) ) // System Estate? { es.EstateID = (uint) Constants.SystemEstateID; } else // must be a new user estate then es.EstateID = GetNewEstateID(); SaveEstateSettings(es, true); return (int) es.EstateID; }
public int CreateNewEstate(EstateSettings es) { object remoteValue = DoRemote(es.ToOSD()); if (remoteValue != null || m_doRemoteOnly) return (int) remoteValue; int estateID = GetEstate(es.EstateOwner, es.EstateName); if (estateID > 0) { return estateID; } es.EstateID = GetNewEstateID(); SaveEstateSettings(es, true); return (int) es.EstateID; }
public int CreateNewEstate(EstateSettings es, UUID RegionID) { object remoteValue = DoRemote(es.ToOSD(), RegionID); if (remoteValue != null || m_doRemoteOnly) return (int) remoteValue; int estateID = GetEstate(es.EstateOwner, es.EstateName); if (estateID > 0) { if (LinkRegion(RegionID, estateID)) return estateID; return 0; } es.EstateID = GetNewEstateID(); SaveEstateSettings(es, true); LinkRegion(RegionID, (int) es.EstateID); return (int) es.EstateID; }
public int CreateNewEstate(EstateSettings es) { object remoteValue = DoRemote(es.ToOSD()); if (remoteValue != null || m_doRemoteOnly) return (int) remoteValue; int estateID = GetEstate(es.EstateOwner, es.EstateName); if (estateID > 0) { return estateID; } // check for system user/estate if ( (es.EstateOwner == (UUID) Constants.RealEstateOwnerUUID) ) // probably don't need to check both :) // (es.EstateName == Constants.SystemEstateName) ) // maybe if the system user can have multiple estates?? { es.EstateID = (uint) Constants.SystemEstateID; // Default Mainland estate # } else es.EstateID = GetNewEstateID(); SaveEstateSettings(es, true); return (int) es.EstateID; }
protected void SaveEstateSettings(EstateSettings es, bool doInsert) { Dictionary<string, object> values = new Dictionary<string, object>(5); values["EstateID"] = es.EstateID; values["EstateName"] = es.EstateName; values["EstateOwner"] = es.EstateOwner; values["ParentEstateID"] = es.ParentEstateID; values["Settings"] = OSDParser.SerializeJsonString(es.ToOSD()); if (!doInsert) { QueryFilter filter = new QueryFilter(); filter.andFilters["EstateID"] = es.EstateID; GD.Update(m_estateSettingsTable, values, null, filter, null, null); } else { GD.Insert(m_estateSettingsTable, values); } }
public void SaveEstateSettings(EstateSettings es) { if (m_doRemoteOnly) { DoRemote (es.ToOSD ()); return; } SaveEstateSettings(es, false); }
public void SaveEstateSettings(EstateSettings es) { object remoteValue = DoRemote(es.ToOSD()); if (remoteValue != null || m_doRemoteOnly) return; SaveEstateSettings(es, false); }
public override void FinishedMigration(IDataConnector genericData) { if (!genericData.TableExists("estates")) return; DataReaderConnection dr = genericData.QueryData("WHERE `Key` = 'EstateID'", "estates", "`ID`, `Key`, `Value`"); if (dr != null) { try { while (dr.DataReader.Read()) { try { UUID ID = UUID.Parse(dr.DataReader["ID"].ToString()); string value = dr.DataReader["Value"].ToString(); QueryFilter filter = new QueryFilter(); filter.andFilters["`ID`"] = value; filter.andFilters["`Key`"] = "EstateSettings"; List<string> results = genericData.Query(new string[1] {"`Value`"}, "estates", filter, null, null, null); if ((results != null) && (results.Count >= 1)) { EstateSettings es = new EstateSettings(); es.FromOSD((OSDMap) OSDParser.DeserializeLLSDXml(results[0])); genericData.Insert("estateregions", new object[] {ID, value}); filter = new QueryFilter(); filter.andFilters["`EstateID`"] = value; List<string> exist = genericData.Query(new string[1] {"`EstateID`"}, "estatesettings", filter, null, null, null); if (exist == null || exist.Count == 0) { genericData.Insert("estatesettings", new object[] { value, es.EstateName, es.EstateOwner, es.ParentEstateID, es.ToOSD() }); } } } catch { } } } catch { } finally { dr.DataReader.Close(); genericData.CloseDatabase(dr); dr.Dispose (); } } }