diff options
author | Teravus Ovares | 2008-09-06 07:52:41 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-09-06 07:52:41 +0000 |
commit | 7d89e122930be39e84a6d174548fa2d12ac0484a (patch) | |
tree | e5aa5752f988a9aba2a969f49e5e208985eda80c /OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |
parent | * minor: speculatively try a change to bamboo.build to see if this generates ... (diff) | |
download | opensim-SC_OLD-7d89e122930be39e84a6d174548fa2d12ac0484a.zip opensim-SC_OLD-7d89e122930be39e84a6d174548fa2d12ac0484a.tar.gz opensim-SC_OLD-7d89e122930be39e84a6d174548fa2d12ac0484a.tar.bz2 opensim-SC_OLD-7d89e122930be39e84a6d174548fa2d12ac0484a.tar.xz |
* This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle.
* This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big!
* Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
Diffstat (limited to 'OpenSim/Region/Communications/OGS1/OGS1GridServices.cs')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index da2e4a2..1dd4219 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -37,7 +37,7 @@ using System.Runtime.Remoting.Channels; | |||
37 | using System.Runtime.Remoting.Channels.Tcp; | 37 | using System.Runtime.Remoting.Channels.Tcp; |
38 | using System.Security.Authentication; | 38 | using System.Security.Authentication; |
39 | using System.Threading; | 39 | using System.Threading; |
40 | using libsecondlife; | 40 | using OpenMetaverse; |
41 | using log4net; | 41 | using log4net; |
42 | using Nwc.XmlRpc; | 42 | using Nwc.XmlRpc; |
43 | using OpenSim.Framework; | 43 | using OpenSim.Framework; |
@@ -125,7 +125,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
125 | GridParams["server_uri"] = regionInfo.ServerURI; | 125 | GridParams["server_uri"] = regionInfo.ServerURI; |
126 | GridParams["region_secret"] = regionInfo.regionSecret; | 126 | GridParams["region_secret"] = regionInfo.regionSecret; |
127 | 127 | ||
128 | if (regionInfo.MasterAvatarAssignedUUID != LLUUID.Zero) | 128 | if (regionInfo.MasterAvatarAssignedUUID != UUID.Zero) |
129 | GridParams["master_avatar_uuid"] = regionInfo.MasterAvatarAssignedUUID.ToString(); | 129 | GridParams["master_avatar_uuid"] = regionInfo.MasterAvatarAssignedUUID.ToString(); |
130 | else | 130 | else |
131 | GridParams["master_avatar_uuid"] = regionInfo.EstateSettings.EstateOwner.ToString(); | 131 | GridParams["master_avatar_uuid"] = regionInfo.EstateSettings.EstateOwner.ToString(); |
@@ -275,7 +275,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
275 | sri.HttpPort = Convert.ToUInt32(neighbourData["http_port"]); | 275 | sri.HttpPort = Convert.ToUInt32(neighbourData["http_port"]); |
276 | } | 276 | } |
277 | 277 | ||
278 | sri.RegionID = new LLUUID((string) neighbourData["uuid"]); | 278 | sri.RegionID = new UUID((string) neighbourData["uuid"]); |
279 | 279 | ||
280 | neighbours.Add(sri); | 280 | neighbours.Add(sri); |
281 | } | 281 | } |
@@ -294,7 +294,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
294 | /// FIXME: Might be nicer to return a proper exception here since we could inform the client more about the | 294 | /// FIXME: Might be nicer to return a proper exception here since we could inform the client more about the |
295 | /// nature of the faiulre. | 295 | /// nature of the faiulre. |
296 | /// </returns> | 296 | /// </returns> |
297 | public RegionInfo RequestNeighbourInfo(LLUUID Region_UUID) | 297 | public RegionInfo RequestNeighbourInfo(UUID Region_UUID) |
298 | { | 298 | { |
299 | RegionInfo regionInfo; | 299 | RegionInfo regionInfo; |
300 | Hashtable requestData = new Hashtable(); | 300 | Hashtable requestData = new Hashtable(); |
@@ -344,7 +344,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
344 | regionInfo.HttpPort = Convert.ToUInt32((string) responseData["http_port"]); | 344 | regionInfo.HttpPort = Convert.ToUInt32((string) responseData["http_port"]); |
345 | } | 345 | } |
346 | 346 | ||
347 | regionInfo.RegionID = new LLUUID((string) responseData["region_UUID"]); | 347 | regionInfo.RegionID = new UUID((string) responseData["region_UUID"]); |
348 | regionInfo.RegionName = (string) responseData["region_name"]; | 348 | regionInfo.RegionName = (string) responseData["region_name"]; |
349 | 349 | ||
350 | if (requestData.ContainsKey("regionHandle")) | 350 | if (requestData.ContainsKey("regionHandle")) |
@@ -407,7 +407,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
407 | regionInfo.HttpPort = Convert.ToUInt32((string) responseData["http_port"]); | 407 | regionInfo.HttpPort = Convert.ToUInt32((string) responseData["http_port"]); |
408 | } | 408 | } |
409 | 409 | ||
410 | regionInfo.RegionID = new LLUUID((string) responseData["region_UUID"]); | 410 | regionInfo.RegionID = new UUID((string) responseData["region_UUID"]); |
411 | regionInfo.RegionName = (string) responseData["region_name"]; | 411 | regionInfo.RegionName = (string) responseData["region_name"]; |
412 | 412 | ||
413 | lock (m_remoteRegionInfoCache) | 413 | lock (m_remoteRegionInfoCache) |
@@ -475,7 +475,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
475 | regionInfo.HttpPort = Convert.ToUInt32((string) responseData["http_port"]); | 475 | regionInfo.HttpPort = Convert.ToUInt32((string) responseData["http_port"]); |
476 | } | 476 | } |
477 | 477 | ||
478 | regionInfo.RegionID = new LLUUID((string) responseData["region_UUID"]); | 478 | regionInfo.RegionID = new UUID((string) responseData["region_UUID"]); |
479 | regionInfo.RegionName = (string) responseData["region_name"]; | 479 | regionInfo.RegionName = (string) responseData["region_name"]; |
480 | 480 | ||
481 | if (!m_remoteRegionInfoCache.ContainsKey(regionInfo.RegionHandle)) | 481 | if (!m_remoteRegionInfoCache.ContainsKey(regionInfo.RegionHandle)) |
@@ -533,7 +533,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
533 | neighbour.Access = Convert.ToByte(n["access"]); | 533 | neighbour.Access = Convert.ToByte(n["access"]); |
534 | neighbour.RegionFlags = Convert.ToUInt32(n["region-flags"]); | 534 | neighbour.RegionFlags = Convert.ToUInt32(n["region-flags"]); |
535 | neighbour.WaterHeight = Convert.ToByte(n["water-height"]); | 535 | neighbour.WaterHeight = Convert.ToByte(n["water-height"]); |
536 | neighbour.MapImageId = new LLUUID((string) n["map-image-id"]); | 536 | neighbour.MapImageId = new UUID((string) n["map-image-id"]); |
537 | 537 | ||
538 | neighbours.Add(neighbour); | 538 | neighbours.Add(neighbour); |
539 | } | 539 | } |
@@ -606,11 +606,11 @@ namespace OpenSim.Region.Communications.OGS1 | |||
606 | m_log.Debug("[CONNECTION DEBUGGING]: Expect User called, starting agent setup ... "); | 606 | m_log.Debug("[CONNECTION DEBUGGING]: Expect User called, starting agent setup ... "); |
607 | Hashtable requestData = (Hashtable) request.Params[0]; | 607 | Hashtable requestData = (Hashtable) request.Params[0]; |
608 | AgentCircuitData agentData = new AgentCircuitData(); | 608 | AgentCircuitData agentData = new AgentCircuitData(); |
609 | agentData.SessionID = new LLUUID((string) requestData["session_id"]); | 609 | agentData.SessionID = new UUID((string) requestData["session_id"]); |
610 | agentData.SecureSessionID = new LLUUID((string) requestData["secure_session_id"]); | 610 | agentData.SecureSessionID = new UUID((string) requestData["secure_session_id"]); |
611 | agentData.firstname = (string) requestData["firstname"]; | 611 | agentData.firstname = (string) requestData["firstname"]; |
612 | agentData.lastname = (string) requestData["lastname"]; | 612 | agentData.lastname = (string) requestData["lastname"]; |
613 | agentData.AgentID = new LLUUID((string) requestData["agent_id"]); | 613 | agentData.AgentID = new UUID((string) requestData["agent_id"]); |
614 | agentData.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); | 614 | agentData.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); |
615 | agentData.CapsPath = (string) requestData["caps_path"]; | 615 | agentData.CapsPath = (string) requestData["caps_path"]; |
616 | 616 | ||
@@ -623,7 +623,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
623 | { | 623 | { |
624 | m_log.Debug("[CONNECTION DEBUGGING]: Main agent detected"); | 624 | m_log.Debug("[CONNECTION DEBUGGING]: Main agent detected"); |
625 | agentData.startpos = | 625 | agentData.startpos = |
626 | new LLVector3((float)Convert.ToDecimal((string)requestData["startpos_x"]), | 626 | new Vector3((float)Convert.ToDecimal((string)requestData["startpos_x"]), |
627 | (float)Convert.ToDecimal((string)requestData["startpos_y"]), | 627 | (float)Convert.ToDecimal((string)requestData["startpos_y"]), |
628 | (float)Convert.ToDecimal((string)requestData["startpos_z"])); | 628 | (float)Convert.ToDecimal((string)requestData["startpos_z"])); |
629 | agentData.child = false; | 629 | agentData.child = false; |
@@ -684,10 +684,10 @@ namespace OpenSim.Region.Communications.OGS1 | |||
684 | m_log.Debug("[CONNECTION DEBUGGING]: LogOff User Called "); | 684 | m_log.Debug("[CONNECTION DEBUGGING]: LogOff User Called "); |
685 | Hashtable requestData = (Hashtable)request.Params[0]; | 685 | Hashtable requestData = (Hashtable)request.Params[0]; |
686 | string message = (string)requestData["message"]; | 686 | string message = (string)requestData["message"]; |
687 | LLUUID agentID = LLUUID.Zero; | 687 | UUID agentID = UUID.Zero; |
688 | LLUUID RegionSecret = LLUUID.Zero; | 688 | UUID RegionSecret = UUID.Zero; |
689 | Helpers.TryParse((string)requestData["agent_id"], out agentID); | 689 | UUID.TryParse((string)requestData["agent_id"], out agentID); |
690 | Helpers.TryParse((string)requestData["region_secret"], out RegionSecret); | 690 | UUID.TryParse((string)requestData["region_secret"], out RegionSecret); |
691 | 691 | ||
692 | ulong regionHandle = Convert.ToUInt64((string)requestData["regionhandle"]); | 692 | ulong regionHandle = Convert.ToUInt64((string)requestData["regionhandle"]); |
693 | 693 | ||
@@ -1072,7 +1072,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1072 | /// <param name="regionHandle"></param> | 1072 | /// <param name="regionHandle"></param> |
1073 | /// <param name="agentData"></param> | 1073 | /// <param name="agentData"></param> |
1074 | /// <returns></returns> | 1074 | /// <returns></returns> |
1075 | public bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData, int XMLMethod) | 1075 | public bool InformRegionOfPrimCrossing(ulong regionHandle, UUID primID, string objData, int XMLMethod) |
1076 | { | 1076 | { |
1077 | int failures = 0; | 1077 | int failures = 0; |
1078 | lock (m_deadRegionCache) | 1078 | lock (m_deadRegionCache) |
@@ -1106,7 +1106,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1106 | 1106 | ||
1107 | if (remObject != null) | 1107 | if (remObject != null) |
1108 | { | 1108 | { |
1109 | retValue = remObject.InformRegionOfPrimCrossing(regionHandle, primID.UUID, objData, XMLMethod); | 1109 | retValue = remObject.InformRegionOfPrimCrossing(regionHandle, primID.Guid, objData, XMLMethod); |
1110 | } | 1110 | } |
1111 | else | 1111 | else |
1112 | { | 1112 | { |
@@ -1168,7 +1168,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1168 | /// <param name="agentID"></param> | 1168 | /// <param name="agentID"></param> |
1169 | /// <param name="position"></param> | 1169 | /// <param name="position"></param> |
1170 | /// <returns></returns> | 1170 | /// <returns></returns> |
1171 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) | 1171 | public bool ExpectAvatarCrossing(ulong regionHandle, UUID agentID, Vector3 position, bool isFlying) |
1172 | { | 1172 | { |
1173 | RegionInfo[] regions = m_regionsOnInstance.ToArray(); | 1173 | RegionInfo[] regions = m_regionsOnInstance.ToArray(); |
1174 | bool banned = false; | 1174 | bool banned = false; |
@@ -1212,7 +1212,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1212 | if (remObject != null) | 1212 | if (remObject != null) |
1213 | { | 1213 | { |
1214 | retValue = | 1214 | retValue = |
1215 | remObject.ExpectAvatarCrossing(regionHandle, agentID.UUID, new sLLVector3(position), | 1215 | remObject.ExpectAvatarCrossing(regionHandle, agentID.Guid, position, |
1216 | isFlying); | 1216 | isFlying); |
1217 | } | 1217 | } |
1218 | else | 1218 | else |
@@ -1246,7 +1246,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1246 | } | 1246 | } |
1247 | } | 1247 | } |
1248 | 1248 | ||
1249 | public bool ExpectPrimCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isPhysical) | 1249 | public bool ExpectPrimCrossing(ulong regionHandle, UUID agentID, Vector3 position, bool isPhysical) |
1250 | { | 1250 | { |
1251 | RegionInfo regInfo = null; | 1251 | RegionInfo regInfo = null; |
1252 | try | 1252 | try |
@@ -1269,7 +1269,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1269 | if (remObject != null) | 1269 | if (remObject != null) |
1270 | { | 1270 | { |
1271 | retValue = | 1271 | retValue = |
1272 | remObject.ExpectAvatarCrossing(regionHandle, agentID.UUID, new sLLVector3(position), | 1272 | remObject.ExpectAvatarCrossing(regionHandle, agentID.Guid, position, |
1273 | isPhysical); | 1273 | isPhysical); |
1274 | } | 1274 | } |
1275 | else | 1275 | else |
@@ -1322,7 +1322,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1322 | } | 1322 | } |
1323 | } | 1323 | } |
1324 | 1324 | ||
1325 | public bool TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID) | 1325 | public bool TellRegionToCloseChildConnection(ulong regionHandle, UUID agentID) |
1326 | { | 1326 | { |
1327 | RegionInfo regInfo = null; | 1327 | RegionInfo regInfo = null; |
1328 | try | 1328 | try |
@@ -1345,7 +1345,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1345 | if (remObject != null) | 1345 | if (remObject != null) |
1346 | { | 1346 | { |
1347 | // retValue = | 1347 | // retValue = |
1348 | remObject.TellRegionToCloseChildConnection(regionHandle, agentID.UUID); | 1348 | remObject.TellRegionToCloseChildConnection(regionHandle, agentID.Guid); |
1349 | } | 1349 | } |
1350 | else | 1350 | else |
1351 | { | 1351 | { |
@@ -1421,12 +1421,12 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1421 | } | 1421 | } |
1422 | } | 1422 | } |
1423 | 1423 | ||
1424 | public bool AcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentId) | 1424 | public bool AcknowledgeAgentCrossed(ulong regionHandle, UUID agentId) |
1425 | { | 1425 | { |
1426 | return m_localBackend.AcknowledgeAgentCrossed(regionHandle, agentId); | 1426 | return m_localBackend.AcknowledgeAgentCrossed(regionHandle, agentId); |
1427 | } | 1427 | } |
1428 | 1428 | ||
1429 | public bool AcknowledgePrimCrossed(ulong regionHandle, LLUUID primId) | 1429 | public bool AcknowledgePrimCrossed(ulong regionHandle, UUID primId) |
1430 | { | 1430 | { |
1431 | return m_localBackend.AcknowledgePrimCrossed(regionHandle, primId); | 1431 | return m_localBackend.AcknowledgePrimCrossed(regionHandle, primId); |
1432 | } | 1432 | } |
@@ -1509,7 +1509,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1509 | /// <param name="regionHandle"></param> | 1509 | /// <param name="regionHandle"></param> |
1510 | /// <param name="agentData"></param> | 1510 | /// <param name="agentData"></param> |
1511 | /// <returns></returns> | 1511 | /// <returns></returns> |
1512 | public bool IncomingPrim(ulong regionHandle, LLUUID primID, string objData, int XMLMethod) | 1512 | public bool IncomingPrim(ulong regionHandle, UUID primID, string objData, int XMLMethod) |
1513 | { | 1513 | { |
1514 | // Is this necessary? | 1514 | // Is this necessary? |
1515 | try | 1515 | try |
@@ -1532,7 +1532,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1532 | /// <param name="agentID"></param> | 1532 | /// <param name="agentID"></param> |
1533 | /// <param name="position"></param> | 1533 | /// <param name="position"></param> |
1534 | /// <returns></returns> | 1534 | /// <returns></returns> |
1535 | public bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) | 1535 | public bool TriggerExpectAvatarCrossing(ulong regionHandle, UUID agentID, Vector3 position, bool isFlying) |
1536 | { | 1536 | { |
1537 | try | 1537 | try |
1538 | { | 1538 | { |
@@ -1545,7 +1545,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1545 | } | 1545 | } |
1546 | } | 1546 | } |
1547 | 1547 | ||
1548 | public bool TriggerExpectPrimCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isPhysical) | 1548 | public bool TriggerExpectPrimCrossing(ulong regionHandle, UUID agentID, Vector3 position, bool isPhysical) |
1549 | { | 1549 | { |
1550 | try | 1550 | try |
1551 | { | 1551 | { |
@@ -1558,7 +1558,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1558 | } | 1558 | } |
1559 | } | 1559 | } |
1560 | 1560 | ||
1561 | public bool TriggerTellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID) | 1561 | public bool TriggerTellRegionToCloseChildConnection(ulong regionHandle, UUID agentID) |
1562 | { | 1562 | { |
1563 | try | 1563 | try |
1564 | { | 1564 | { |
@@ -1692,18 +1692,18 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1692 | hash = (Hashtable)response.Value; | 1692 | hash = (Hashtable)response.Value; |
1693 | try { | 1693 | try { |
1694 | landData = new LandData(); | 1694 | landData = new LandData(); |
1695 | landData.AABBMax = LLVector3.Parse((string)hash["AABBMax"]); | 1695 | landData.AABBMax = Vector3.Parse((string)hash["AABBMax"]); |
1696 | landData.AABBMin = LLVector3.Parse((string)hash["AABBMin"]); | 1696 | landData.AABBMin = Vector3.Parse((string)hash["AABBMin"]); |
1697 | landData.Area = Convert.ToInt32(hash["Area"]); | 1697 | landData.Area = Convert.ToInt32(hash["Area"]); |
1698 | landData.AuctionID = Convert.ToUInt32(hash["AuctionID"]); | 1698 | landData.AuctionID = Convert.ToUInt32(hash["AuctionID"]); |
1699 | landData.Description = (string)hash["Description"]; | 1699 | landData.Description = (string)hash["Description"]; |
1700 | landData.Flags = Convert.ToUInt32(hash["Flags"]); | 1700 | landData.Flags = Convert.ToUInt32(hash["Flags"]); |
1701 | landData.GlobalID = new LLUUID((string)hash["GlobalID"]); | 1701 | landData.GlobalID = new UUID((string)hash["GlobalID"]); |
1702 | landData.Name = (string)hash["Name"]; | 1702 | landData.Name = (string)hash["Name"]; |
1703 | landData.OwnerID = new LLUUID((string)hash["OwnerID"]); | 1703 | landData.OwnerID = new UUID((string)hash["OwnerID"]); |
1704 | landData.SalePrice = Convert.ToInt32(hash["SalePrice"]); | 1704 | landData.SalePrice = Convert.ToInt32(hash["SalePrice"]); |
1705 | landData.SnapshotID = new LLUUID((string)hash["SnapshotID"]); | 1705 | landData.SnapshotID = new UUID((string)hash["SnapshotID"]); |
1706 | landData.UserLocation = LLVector3.Parse((string)hash["UserLocation"]); | 1706 | landData.UserLocation = Vector3.Parse((string)hash["UserLocation"]); |
1707 | m_log.DebugFormat("[OGS1 GRID SERVICES] Got land data for parcel {0}", landData.Name); | 1707 | m_log.DebugFormat("[OGS1 GRID SERVICES] Got land data for parcel {0}", landData.Name); |
1708 | } | 1708 | } |
1709 | catch (Exception e) | 1709 | catch (Exception e) |
@@ -1739,7 +1739,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1739 | if (landData != null) | 1739 | if (landData != null) |
1740 | { | 1740 | { |
1741 | // for now, only push out the data we need for answering a ParcelInfoReqeust | 1741 | // for now, only push out the data we need for answering a ParcelInfoReqeust |
1742 | // FIXME: these Replace calls are necessary as LLVector3.Parse can't parse vectors with spaces in them. Can be removed as soon as we switch to a newer version | 1742 | // FIXME: these Replace calls are necessary as Vector3.Parse can't parse vectors with spaces in them. Can be removed as soon as we switch to a newer version |
1743 | hash["AABBMax"] = landData.AABBMax.ToString().Replace(" ", ""); | 1743 | hash["AABBMax"] = landData.AABBMax.ToString().Replace(" ", ""); |
1744 | hash["AABBMin"] = landData.AABBMin.ToString().Replace(" ", ""); | 1744 | hash["AABBMin"] = landData.AABBMin.ToString().Replace(" ", ""); |
1745 | hash["Area"] = landData.Area.ToString(); | 1745 | hash["Area"] = landData.Area.ToString(); |