diff options
Diffstat (limited to '')
-rw-r--r-- | OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs | 27 | ||||
-rw-r--r-- | OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs | 28 |
2 files changed, 55 insertions, 0 deletions
diff --git a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs index d9a517d..4d6cf63 100644 --- a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs +++ b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs | |||
@@ -252,6 +252,33 @@ namespace OpenGrid.Framework.Data.MySQL | |||
252 | 252 | ||
253 | return false; | 253 | return false; |
254 | } | 254 | } |
255 | |||
256 | public ReservationData GetReservationAtPoint(uint x, uint y) | ||
257 | { | ||
258 | try | ||
259 | { | ||
260 | lock (database) | ||
261 | { | ||
262 | Dictionary<string, string> param = new Dictionary<string, string>(); | ||
263 | param["?x"] = x.ToString(); | ||
264 | param["?y"] = y.ToString(); | ||
265 | System.Data.IDbCommand result = database.Query("SELECT * FROM reservations WHERE resXMin <= ?x AND resXMax >= ?x AND resYMin <= ?y AND resYMax >= ?y", param); | ||
266 | System.Data.IDataReader reader = result.ExecuteReader(); | ||
267 | |||
268 | ReservationData row = database.readReservationRow(reader); | ||
269 | reader.Close(); | ||
270 | result.Dispose(); | ||
271 | |||
272 | return row; | ||
273 | } | ||
274 | } | ||
275 | catch (Exception e) | ||
276 | { | ||
277 | database.Reconnect(); | ||
278 | Console.WriteLine(e.ToString()); | ||
279 | return null; | ||
280 | } | ||
281 | } | ||
255 | } | 282 | } |
256 | 283 | ||
257 | 284 | ||
diff --git a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs index 76d3faf..53b3bdd 100644 --- a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs +++ b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs | |||
@@ -241,6 +241,34 @@ namespace OpenGrid.Framework.Data.MySQL | |||
241 | } | 241 | } |
242 | 242 | ||
243 | /// <summary> | 243 | /// <summary> |
244 | /// Reads a reservation row from a database reader | ||
245 | /// </summary> | ||
246 | /// <param name="reader">An active database reader</param> | ||
247 | /// <returns>A reservation data object</returns> | ||
248 | public ReservationData readReservationRow(IDataReader reader) | ||
249 | { | ||
250 | ReservationData retval = new ReservationData(); | ||
251 | if (reader.Read()) | ||
252 | { | ||
253 | retval.gridRecvKey = (string)reader["gridRecvKey"]; | ||
254 | retval.gridSendKey = (string)reader["gridSendKey"]; | ||
255 | retval.reservationCompany = (string)reader["resCompany"]; | ||
256 | retval.reservationMaxX = (int)reader["resXMax"]; | ||
257 | retval.reservationMaxY = (int)reader["resYMax"]; | ||
258 | retval.reservationMinX = (int)reader["resXMin"]; | ||
259 | retval.reservationMinY = (int)reader["resYMin"]; | ||
260 | retval.reservationName = (string)reader["resName"]; | ||
261 | retval.status = (bool)reader["status"]; | ||
262 | retval.userUUID = new libsecondlife.LLUUID((string)reader["userUUID"]); | ||
263 | |||
264 | } | ||
265 | else | ||
266 | { | ||
267 | return null; | ||
268 | } | ||
269 | return retval; | ||
270 | } | ||
271 | /// <summary> | ||
244 | /// Reads an agent row from a database reader | 272 | /// Reads an agent row from a database reader |
245 | /// </summary> | 273 | /// </summary> |
246 | /// <param name="reader">An active database reader</param> | 274 | /// <param name="reader">An active database reader</param> |