public static Request getItem() { Request r = new Request(); try { MySqlDataReader rdr = new MySqlCommand("SELECT `id`,`steam_id`,`type`,`priority` FROM `queue` WHERE `id` IN (SELECT `queue_id` FROM `queue_status` WHERE `active`=1 AND `status`=" + (int)RequestStatus.Waiting + ") ORDER BY `priority` DESC, `id` ASC LIMIT 1", QueueConnection).ExecuteReader(); while (rdr.Read()) { r.ID = rdr.GetInt32(0); r.User = rdr.GetUInt64(1); r.TradeType = (Bot.TradeTypes)rdr.GetInt32(2); r.Priority = rdr.GetInt32(3); } rdr.Close(); r.Data = new string[Int32.Parse((new MySqlCommand("SELECT COUNT(`data`) FROM `queue_items` WHERE `queue_id`=" + r.ID, conn)).ExecuteScalar().ToString())]; rdr = (new MySqlCommand("SELECT `data` FROM `queue_items` WHERE `queue_id`=" + r.ID, conn)).ExecuteReader(); int i = 0; while (rdr.Read()) r.Data[i++] = rdr.GetString(0); rdr.Close(); } catch (Exception e) { log.Error("Error getting new request: " + e.Message); } return r; }