public static void Save(this Models.Giveaway g, Instance db) { if (g.ID == null || !ExistsInDb(g, db)) { //need to insert db.ExecuteNonQuery( "insert into giveaway (Title, Description, Active, Owner, TimeStamp) VALUES (@Title, @Description, @Active, @Owner, @TimeStamp)", g); g.ID = db.Connection.Query <int>( $"SELECT ID FROM Giveaway WHERE Description = @Description AND Owner = @Owner and TimeStamp = @TimeStamp", g) .First(); } else { db.ExecuteNonQuery( "UPDATE giveaway SET Title = @Title, Description = @Description, Active = @Active, Owner = @Owner, MessageId = @MessageId, TimeStamp = @TimeStamp WHERE ID = @ID", g); } }
public static IEnumerable <User> GetUsers(this Models.Giveaway g, Instance db) { var userIds = db.Connection.Query <int>($"select UserId from giveawayuser where GiveawayId = {g.ID}").ToList(); return(db.Users.Where(x => userIds.Contains(x.UserId))); }
public static void AddUser(this Models.Giveaway g, Instance db, int userid) { db.ExecuteNonQuery( $"insert into giveawayuser (UserId, GiveawayId) VALUES ({userid}, {g.ID})"); }
public static bool HasUser(this Models.Giveaway g, Instance db, int userid) { var rows = db.Connection.Query($"SELECT COUNT(1) as 'Count' FROM giveawayuser WHERE UserId = '{userid}' AND GiveawayId = '{g.ID}'"); return((int)rows.First().Count > 0); }
public static void RemoveFromDb(this Models.Giveaway g, Instance db) { db.ExecuteNonQuery("DELETE FROM giveaway WHERE ID = @ID", g); }
public static bool ExistsInDb(this Models.Giveaway g, Instance db) { var rows = db.Connection.Query($"SELECT COUNT(1) as 'Count' FROM giveaway WHERE ID = '{g.ID}'"); return((int)rows.First().Count > 0); }