namespace Holo.marketManager { using Holo; using Holo.Catalogue.Marketplace; using Ion.Storage; using System; using System.Collections.Generic; using System.Data; public static class MarketManager { public static void BuyItem(int itemID, int userID, Virtual.Users.virtualUser userB) { using (DatabaseClient client = Eucalypt.dbManager.GetClient()) { client.AddParamWithValue("@itemid", itemID); client.AddParamWithValue("@buyer", userID); DataRow row = client.getRow("SELECT * FROM marketplace WHERE itemid = @itemid"); client.AddParamWithValue("@owner", row["userid"]); int owner = Convert.ToInt32(row["userid"]); client.AddParamWithValue("@tid", row["itemtid"]); int price = Convert.ToInt32(row["price"]); int creditB = client.getInt("SELECT credits FROM users WHERE id = @buyer"); if (creditB < price) { userB.sendData("BKNon hai abbastanza crediti!"); } else { client.runQuery("DELETE FROM marketplace WHERE itemid = @itemid"); client.runQuery("INSERT INTO furniture(tid,ownerid,roomid) VALUES (@tid,@buyer,'0')"); client.AddParamWithValue("@totals", client.getInt("SELECT credits FROM users WHERE id = @buyer") + price); client.runQuery("UPDATE users SET credits = @totals WHERE id = @owner"); client.AddParamWithValue("@totalb", client.getInt("SELECT credits FROM users WHERE id = @buyer") - price); client.runQuery("UPDATE users SET credits = @totalb WHERE id = @buyer"); Virtual.Users.virtualUser Owner = Holo.Managers.userManager.getUser(owner); userB.refreshValueables(true, false); userB.refreshHand(""); if (Owner != null) { Owner.refreshValueables(true, false); Owner.refreshHand(""); } } } } private static Holo.Catalogue.Marketplace.Marketplace Catalog = new Holo.Catalogue.Marketplace.Marketplace(); public static void AddItem(int itemID, int userID, int Cost) { using (DatabaseClient client = Eucalypt.dbManager.GetClient()) { client.AddParamWithValue("@itemid", itemID); client.AddParamWithValue("@owner", userID); client.AddParamWithValue("@price", Cost); int val = client.getInt("SELECT tid FROM furniture WHERE id = @itemid AND ownerid = @owner "); client.AddParamWithValue("@itemtid", val); client.AddParamWithValue("@expires", DateTime.Now.AddHours(48.0)); client.runQuery("DELETE FROM furniture WHERE id = @itemid AND ownerid = @owner"); client.runQuery("INSERT INTO marketplace (userid,itemid,itemtid,price,expires) VALUES (@owner,@itemid,@itemtid,@price,@expires)"); } } public static List MarketItem(int userID) { using (DatabaseClient client = Eucalypt.dbManager.GetClient()) { List list = new List(); client.AddParamWithValue("@userid", userID); DataTable table = client.getDataSet("SELECT * FROM marketplace WHERE userid = @userid").Tables[0]; foreach (DataRow row in table.Rows) { Holo.Catalogue.Marketplace.Marketplace item = Catalog.getItem(Catalog.getRowForTemplateID(int.Parse(row["itemtid"].ToString()))); item.ID = int.Parse(row["itemid"].ToString()); item.Cost_Credits = int.Parse(row["price"].ToString()); item.ExpiresDate = DateTime.Parse(row["expires"].ToString()); item.SpriteID = client.getInt("SELECT id FROM furniture_data WHERE sprite = '" + item.CCTName + "'"); list.Add(item); } return list; } } public static List MarketItems(int MinCost) { using (DatabaseClient client = Eucalypt.dbManager.GetClient()) { List list = new List(); client.AddParamWithValue("@price", MinCost); DataTable table = client.getDataSet("SELECT * FROM marketplace WHERE price >= @price LIMIT 100").Tables[0]; foreach (DataRow row in table.Rows) { Holo.Catalogue.Marketplace.Marketplace item = Catalog.getItem(Catalog.getRowForTemplateID(int.Parse(row["itemtid"].ToString()))); item.ID = client.getInt("SELECT itemid FROM marketplace WHERE itemtid = '" + item.TemplateID + "'"); item.Cost_Credits = client.getInt("SELECT price FROM marketplace WHERE itemtid = '" + item.TemplateID + "'"); item.SpriteID = client.getInt("SELECT id FROM furniture_data WHERE sprite = '" + item.CCTName + "'"); if (item != null) { list.Add(item); } } return list; } } public static void RemoveItem(int itemID, int userID) { using (DatabaseClient client = Eucalypt.dbManager.GetClient()) { client.AddParamWithValue("@itemid", itemID); client.AddParamWithValue("@owner", userID); DataRow row = client.getRow("SELECT * FROM marketplace WHERE itemid = @itemid AND userid = @owner"); client.AddParamWithValue("@tid", row["itemtid"]); client.runQuery("DELETE FROM marketplace WHERE itemid = @itemid AND userid = @owner"); client.runQuery("INSERT INTO furniture(tid,ownerid,roomid) VALUES (@tid,@owner,'0')"); } } } }