Example #1
0
        private bool GetLoot(LootTO loot)
        {
            using var sqLiteCommand = new SQLiteCommand("SELECT COUNT(*) FROM Loot WHERE Date = @Date AND Item_ID = @ItemID AND Player_ID = @Player_ID", connection);
            sqLiteCommand.Parameters.AddWithValue("@Date", loot.Date.ToFileTimeUtc());
            sqLiteCommand.Parameters.AddWithValue("@ItemID", loot.Item.ID);
            sqLiteCommand.Parameters.AddWithValue("@Player_ID", loot.Player.ID);
            using var sqLiteDataReader = sqLiteCommand.ExecuteReader();

            while (sqLiteDataReader.Read())
            {
                return(sqLiteDataReader.GetInt32(0) > 0);
            }

            return(false);
        }
Example #2
0
        private void WriteLoot(RaidTO raid, LootTO loot)
        {
            if (GetLoot(loot))
            {
                return;
            }
            using var sqLiteCommand = new SQLiteCommand("INSERT INTO Loot(Date, Item_ID, Mob_ID, Raid_ID, Player_ID) VALUES(@Date,@ItemID,@MobID,@RaidID,@PlayerID)", connection);

            sqLiteCommand.Parameters.AddWithValue("@Date", loot.Date.ToFileTimeUtc());
            sqLiteCommand.Parameters.AddWithValue("@ItemID", loot.Item.ID);
            sqLiteCommand.Parameters.AddWithValue("@MobID", loot.Mob.ID);
            sqLiteCommand.Parameters.AddWithValue("@RaidID", raid.ID);
            sqLiteCommand.Parameters.AddWithValue("@PlayerID", loot.Player.ID);

            Console.WriteLine("Add new Loot: " + loot.Item.Name + " given to " + loot.Player.Name + " (" + loot.Player.Guild + ")");

            sqLiteCommand.ExecuteNonQuery();

            sqLiteCommand.CommandText = "SELECT last_insert_rowid()";

            var lastRowId64 = (long)sqLiteCommand.ExecuteScalar();

            loot.ID = (int)lastRowId64;
        }