// DO NOT EDIT MANUALLY // // generated by sqlgg 0.2.3-43-g8cd5b20 on 2009-11-07T13:43Z using System; using System.Data; using System.Collections.Generic; namespace sqlgg { public class create_person { IDbCommand _cmd; IDbConnection _conn; public int? CommandTimeout; static string sql = "CREATE TABLE IF NOT EXISTS person (id INTEGER PRIMARY KEY AUTO_INCREMENT,name TEXT,surname TEXT)"; public create_person(IDbConnection db) { _cmd = null; _conn = db; } /** execute query */ public int execute() { if (null == _cmd) { _cmd = _conn.CreateCommand(); _cmd.CommandText = sql; _cmd.Prepare(); } if (null != CommandTimeout) _cmd.CommandTimeout = CommandTimeout.Value; return _cmd.ExecuteNonQuery(); } } // public class create_person public class add_person { IDbCommand _cmd; IDbConnection _conn; public int? CommandTimeout; static string sql = "INSERT INTO person (name,surname) VALUES (@name,@surname)"; public add_person(IDbConnection db) { _cmd = null; _conn = db; } /** execute query */ public int execute(String name, String surname) { if (null == _cmd) { _cmd = _conn.CreateCommand(); _cmd.CommandText = sql; IDbDataParameter param_0 = _cmd.CreateParameter(); param_0.ParameterName = "@name"; param_0.DbType = DbType.String; _cmd.Parameters.Add(param_0); IDbDataParameter param_1 = _cmd.CreateParameter(); param_1.ParameterName = "@surname"; param_1.DbType = DbType.String; _cmd.Parameters.Add(param_1); _cmd.Prepare(); } if (null != CommandTimeout) _cmd.CommandTimeout = CommandTimeout.Value; ((IDbDataParameter)_cmd.Parameters[0]).Value = name; ((IDbDataParameter)_cmd.Parameters[1]).Value = surname; return _cmd.ExecuteNonQuery(); } } // public class add_person public class create_money { IDbCommand _cmd; IDbConnection _conn; public int? CommandTimeout; static string sql = "CREATE TABLE IF NOT EXISTS money (src INTEGER, dst INTEGER, amount INTEGER)"; public create_money(IDbConnection db) { _cmd = null; _conn = db; } /** execute query */ public int execute() { if (null == _cmd) { _cmd = _conn.CreateCommand(); _cmd.CommandText = sql; _cmd.Prepare(); } if (null != CommandTimeout) _cmd.CommandTimeout = CommandTimeout.Value; return _cmd.ExecuteNonQuery(); } } // public class create_money public class add_money { IDbCommand _cmd; IDbConnection _conn; public int? CommandTimeout; static string sql = "INSERT INTO money VALUES (@src,@dst,@amount)"; public add_money(IDbConnection db) { _cmd = null; _conn = db; } /** execute query */ public int execute(Int64 src, Int64 dst, Int64 amount) { if (null == _cmd) { _cmd = _conn.CreateCommand(); _cmd.CommandText = sql; IDbDataParameter param_0 = _cmd.CreateParameter(); param_0.ParameterName = "@src"; param_0.DbType = DbType.Int64; _cmd.Parameters.Add(param_0); IDbDataParameter param_1 = _cmd.CreateParameter(); param_1.ParameterName = "@dst"; param_1.DbType = DbType.Int64; _cmd.Parameters.Add(param_1); IDbDataParameter param_2 = _cmd.CreateParameter(); param_2.ParameterName = "@amount"; param_2.DbType = DbType.Int64; _cmd.Parameters.Add(param_2); _cmd.Prepare(); } if (null != CommandTimeout) _cmd.CommandTimeout = CommandTimeout.Value; ((IDbDataParameter)_cmd.Parameters[0]).Value = src; ((IDbDataParameter)_cmd.Parameters[1]).Value = dst; ((IDbDataParameter)_cmd.Parameters[2]).Value = amount; return _cmd.ExecuteNonQuery(); } } // public class add_money public class calc_total { IDbCommand _cmd; IDbConnection _conn; public int? CommandTimeout; static string sql = "SELECT CONCAT(name,' ',surname) AS fullname, SUM(amount) as total FROM person JOIN money ON src = id GROUP BY id"; public calc_total(IDbConnection db) { _cmd = null; _conn = db; } public delegate void callback(String fullname, Int64 total); /** execute query String fullname, Int64 total */ public IEnumerable execute_reader() { if (null == _cmd) { _cmd = _conn.CreateCommand(); _cmd.CommandText = sql; _cmd.Prepare(); } if (null != CommandTimeout) _cmd.CommandTimeout = CommandTimeout.Value; IDataReader reader = _cmd.ExecuteReader(); while (reader.Read()) { yield return reader; } reader.Close(); } public int execute(callback result) { int count = 0; foreach (var reader in execute_reader()) { result(reader.GetString(0), reader.GetInt64(1)); count++; } return count; } public class row { public readonly String fullname; public readonly Int64 total; public row(IDataReader reader) { fullname = reader.GetString(0); total = reader.GetInt64(1); } } // public class row public IEnumerable rows() { foreach (var reader in execute_reader()) { yield return new row(reader); } } } // public class calc_total public class list_donors { IDbCommand _cmd; IDbConnection _conn; public int? CommandTimeout; static string sql = "SELECT DISTINCT surname FROM person JOIN money ON src = id AND dst = (SELECT id FROM person WHERE surname LIKE @_0) LIMIT @limit"; public list_donors(IDbConnection db) { _cmd = null; _conn = db; } public delegate void callback(String surname); /** execute query String surname */ public IEnumerable execute_reader(String _0, Int64 limit) { if (null == _cmd) { _cmd = _conn.CreateCommand(); _cmd.CommandText = sql; IDbDataParameter param_0 = _cmd.CreateParameter(); param_0.ParameterName = "@_0"; param_0.DbType = DbType.String; _cmd.Parameters.Add(param_0); IDbDataParameter param_1 = _cmd.CreateParameter(); param_1.ParameterName = "@limit"; param_1.DbType = DbType.Int64; _cmd.Parameters.Add(param_1); _cmd.Prepare(); } if (null != CommandTimeout) _cmd.CommandTimeout = CommandTimeout.Value; ((IDbDataParameter)_cmd.Parameters[0]).Value = _0; ((IDbDataParameter)_cmd.Parameters[1]).Value = limit; IDataReader reader = _cmd.ExecuteReader(); while (reader.Read()) { yield return reader; } reader.Close(); } public int execute(String _0, Int64 limit, callback result) { int count = 0; foreach (var reader in execute_reader(_0, limit)) { result(reader.GetString(0)); count++; } return count; } public IEnumerable rows(String _0, Int64 limit) { foreach (var reader in execute_reader(_0, limit)) { yield return reader.GetString(0); } } } // public class list_donors public class drop_person { IDbCommand _cmd; IDbConnection _conn; public int? CommandTimeout; static string sql = "DROP TABLE IF EXISTS person"; public drop_person(IDbConnection db) { _cmd = null; _conn = db; } /** execute query */ public int execute() { if (null == _cmd) { _cmd = _conn.CreateCommand(); _cmd.CommandText = sql; _cmd.Prepare(); } if (null != CommandTimeout) _cmd.CommandTimeout = CommandTimeout.Value; return _cmd.ExecuteNonQuery(); } } // public class drop_person public class drop_money { IDbCommand _cmd; IDbConnection _conn; public int? CommandTimeout; static string sql = "DROP TABLE IF EXISTS money"; public drop_money(IDbConnection db) { _cmd = null; _conn = db; } /** execute query */ public int execute() { if (null == _cmd) { _cmd = _conn.CreateCommand(); _cmd.CommandText = sql; _cmd.Prepare(); } if (null != CommandTimeout) _cmd.CommandTimeout = CommandTimeout.Value; return _cmd.ExecuteNonQuery(); } } // public class drop_money public class all { public readonly IDbConnection db; public create_person create_person; public add_person add_person; public create_money create_money; public add_money add_money; public calc_total calc_total; public list_donors list_donors; public drop_person drop_person; public drop_money drop_money; public all(IDbConnection db) { this.db = db; create_person = new create_person(db); add_person = new add_person(db); create_money = new create_money(db); add_money = new add_money(db); calc_total = new calc_total(db); list_donors = new list_donors(db); drop_person = new drop_person(db); drop_money = new drop_money(db); } } // public class all } // namespace sqlgg