using System; using System.Collections.Generic; using System.Data; using System.Linq; using ChaosBot.Database.Entity; namespace ChaosBot.Database.Repository { public static class RaffleRepository { private static readonly string Table = "RaffleTable"; public static Raffle[] all() { DataTable dataTable = Controller.SelectQuery(Table); List raffles = new List(); foreach (DataRow row in dataTable.Rows) { int id = Convert.ToInt32((long) row["id"]); string userId = row["userId"].ToString(); raffles.Add(new Raffle(id, userId)); } return raffles.ToArray(); } public static int count() { DataTable dataTable = Controller.SelectQuery(Table, "COUNT(*)"); return Convert.ToInt32(dataTable.Rows[0]["COUNT(*)"]); } public static int count(string userId) { Dictionary filterDict = new Dictionary(); filterDict.Add("userId", userId); DataTable dataTable = Controller.SelectQuery(Table, "COUNT(*)", filterDict); return Convert.ToInt32(dataTable.Rows[0]["COUNT(*)"]); } public static Raffle[] selectUser(string userId) { Dictionary filterDict = new Dictionary(); filterDict.Add("userId", userId); DataTable dataTable = Controller.SelectQuery(Table, filterColumns: filterDict); List raffles = new List(); foreach (DataRow row in dataTable.Rows) { int id = Convert.ToInt32((long) row["id"]); string userIdFetch = row["userId"].ToString(); raffles.Add(new Raffle(id, userIdFetch)); } return raffles.ToArray(); } public static void insert(Raffle raffle) { Dictionary dict = new Dictionary(); dict.Add("userId", raffle.userId); Controller.InsertQuery(Table, dict); } public static void massInsert(List raffles) { foreach (var raf in raffles) { Dictionary dict = new Dictionary(); dict.Add("userId", raf.userId); Controller.InsertQuery(Table, dict); } } public static Raffle PickRandom() { DataTable dataTable = Controller.SelectQuery(Table, "*", orderByKey: "RANDOM()"); if (dataTable.Rows.Count == 0) return null; DataRow row = dataTable.Rows[0]; int idFetch = Convert.ToInt32((long)row["id"]); string userIdFetch = row["userId"].ToString(); return new Raffle(idFetch, userIdFetch); } // public static void delete() // { // // } } }