private async Task updateDatabaseSettings(MultiplayerRoom room) { using (var db = databaseFactory.GetInstance()) { var item = new multiplayer_playlist_item(room); var dbItem = await db.GetPlaylistItemFromRoomAsync(room.RoomID, item.id); if (dbItem == null) { throw new InvalidStateException("Attempted to select a playlist item not contained by the room."); } if (dbItem.expired) { throw new InvalidStateException("Attempted to select an expired playlist item."); } string?beatmapChecksum = await db.GetBeatmapChecksumAsync(item.beatmap_id); if (beatmapChecksum == null) { throw new InvalidStateException("Attempted to select a beatmap which does not exist online."); } if (room.Settings.BeatmapChecksum != beatmapChecksum) { throw new InvalidStateException("Attempted to select a beatmap which has been modified."); } await db.UpdateRoomSettingsAsync(room); } }
public async Task <long> AddPlaylistItemAsync(multiplayer_playlist_item item) { await connection.ExecuteAsync( "INSERT INTO multiplayer_playlist_items (room_id, beatmap_id, ruleset_id, allowed_mods, required_mods, created_at, updated_at)" + " VALUES (@room_id, @beatmap_id, @ruleset_id, @allowed_mods, @required_mods, NOW(), NOW())", item); return(await connection.QuerySingleAsync <long>("SELECT max(id) FROM multiplayer_playlist_items WHERE room_id = @room_id", item)); }
public async Task UpdateRoomSettingsAsync(MultiplayerRoom room) { var dbPlaylistItem = new multiplayer_playlist_item(room); await connection.ExecuteAsync("UPDATE multiplayer_rooms SET name = @Name WHERE id = @RoomID", new { RoomID = room.RoomID, Name = room.Settings.Name }); await connection.ExecuteAsync("UPDATE multiplayer_playlist_items SET beatmap_id = @beatmap_id, ruleset_id = @ruleset_id, required_mods = @required_mods, updated_at = NOW() WHERE room_id = @room_id", dbPlaylistItem); }
protected virtual async Task UpdateDatabaseSettings(MultiplayerRoom room) { using (var conn = Database.GetConnection()) { var dbPlaylistItem = new multiplayer_playlist_item(room); await conn.ExecuteAsync("UPDATE multiplayer_rooms SET name = @Name WHERE id = @RoomID", new { RoomID = room.RoomID, Name = room.Settings.Name }); await conn.ExecuteAsync("UPDATE multiplayer_playlist_items SET beatmap_id = @beatmap_id, ruleset_id = @ruleset_id, required_mods = @required_mods, updated_at = NOW() WHERE room_id = @room_id", dbPlaylistItem); } }
private async Task updateDatabaseSettings(MultiplayerRoom room) { using (var db = databaseFactory.GetInstance()) { var dbPlaylistItem = new multiplayer_playlist_item(room); string beatmapChecksum = await db.GetBeatmapChecksumAsync(dbPlaylistItem.beatmap_id); if (beatmapChecksum == null) { throw new InvalidStateException("Attempted to select a beatmap which does not exist online."); } if (room.Settings.BeatmapChecksum != beatmapChecksum) { throw new InvalidStateException("Attempted to select a beatmap which has been modified."); } await db.UpdateRoomSettingsAsync(room); } }
public async Task UpdateRoomSettingsAsync(MultiplayerRoom room) { await connection.ExecuteAsync("UPDATE multiplayer_rooms SET name = @Name WHERE id = @RoomID", new { RoomID = room.RoomID, Name = room.Settings.Name }); var currentItem = await GetCurrentPlaylistItemAsync(room.RoomID); var newItem = new multiplayer_playlist_item(room) { id = currentItem.id }; await connection.ExecuteAsync("UPDATE multiplayer_playlist_items SET " + " beatmap_id = @beatmap_id," + " ruleset_id = @ruleset_id," + " required_mods = @required_mods," + " allowed_mods = @allowed_mods," + " updated_at = NOW()" + " WHERE id = @id", newItem); }