Ejemplo n.º 1
0
        public async Task <long> GetTimesUnlockedAsync(Trophy trophy)
        {
            using (SQLiteCommand cmd = new SQLiteCommand("SELECT COUNT(*) FROM Trophies WHERE trophy_name=$trophy_name;")) {
                cmd.Parameters.AddWithValue("$trophy_name", trophy.GetIdentifier());

                return(await Database.GetScalar <long>(cmd));
            }
        }
Ejemplo n.º 2
0
        public async Task UnlockAsync(ulong userId, Trophy trophy)
        {
            using (SQLiteCommand cmd = new SQLiteCommand("INSERT OR IGNORE INTO Trophies(user_id, trophy_name, timestamp) VALUES($user_id, $trophy_name, $timestamp);")) {
                cmd.Parameters.AddWithValue("$user_id", userId);
                cmd.Parameters.AddWithValue("$trophy_name", trophy.GetIdentifier());
                cmd.Parameters.AddWithValue("$timestamp", DateTimeOffset.UtcNow.ToUnixTimeSeconds());

                await Database.ExecuteNonQuery(cmd);
            }
        }
Ejemplo n.º 3
0
        public async Task <TrophyUser[]> GetUsersUnlockedAsync(Trophy trophy)
        {
            List <TrophyUser> user_ids = new List <TrophyUser>();

            using (SQLiteCommand cmd = new SQLiteCommand("SELECT user_id, timestamp FROM Trophies WHERE trophy_name = $trophy_name")) {
                cmd.Parameters.AddWithValue("$trophy_name", trophy.GetIdentifier());

                using (DataTable rows = await Database.GetRowsAsync(cmd))
                    foreach (DataRow row in rows.Rows)
                    {
                        user_ids.Add(new TrophyUser((ulong)row.Field <long>("user_id"), row.Field <long>("timestamp")));
                    }
            }

            return(user_ids.ToArray());
        }