private OSDMap GetParcel(OSDMap map)
{
OSDMap resp = new OSDMap();
UUID regionID = map.ContainsKey("RegionID") ? UUID.Parse(map["RegionID"].ToString()) : UUID.Zero;
UUID scopeID = map.ContainsKey("ScopeID") ? UUID.Parse(map["ScopeID"].ToString()) : UUID.Zero;
UUID parcelID = map.ContainsKey("ParcelInfoUUID") ? UUID.Parse(map["ParcelInfoUUID"].ToString()) : UUID.Zero;
string parcelName = map.ContainsKey("Parcel") ? map["Parcel"].ToString().Trim() : string.Empty;
IDirectoryServiceConnector directory = DataPlugins.RequestPlugin<IDirectoryServiceConnector>();
if (directory != null && (parcelID != UUID.Zero || (regionID != UUID.Zero && parcelName != string.Empty)))
{
LandData parcel = null;
if(parcelID != UUID.Zero){
parcel = directory.GetParcelInfo(parcelID);
}else if(regionID != UUID.Zero && parcelName != string.Empty){
parcel = directory.GetParcelInfo(regionID, parcelName);
}
if (parcel != null)
{
resp["Parcel"] = LandData2WebOSD(parcel);
}
}
return resp;
}