using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Mosleys.Server { public static class MySql { public static dynamic MySqlObject; public static Task Execute(string qry, IDictionary parameters = null) { var source = new TaskCompletionSource(); MySqlObject.query(qry, parameters, new Action(_ => { source.TrySetResult(null); })); return source.Task; } public static Task FetchAll(string qry, IDictionary parameters = null) { var source = new TaskCompletionSource(); MySqlObject.query(qry, parameters, new Action(data => { source.TrySetResult((data as List).ToArray()); })); return source.Task; } public static async Task FetchOne(string qry, IDictionary parameters = null) { var result = await FetchAll(qry, parameters); if (result.Length == 0) return null; return result[0]; } public static async void InitialSetup() { await Execute("CREATE TABLE IF NOT EXISTS cardealer (uuid VARCHAR(36) PRIMARY KEY, owner VARCHAR(46), description VARCHAR(60), price INT(7), slot INT(2), vehicle LONGTEXT, testdrive TINYINT(1))"); await Execute("UPDATE cardealer SET testdrive = 0"); } } }