internal void RemovePlaylistItem() { if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().CurrentRoom == null) { return; } Room currentRoom = Session.GetHabbo().CurrentRoom; if (!currentRoom.CheckRights(Session, true) || !currentRoom.GotMusicController()) { return; } RoomMusicController musicController = currentRoom.GetRoomMusicController(); SongItem item = musicController.RemoveDisk(Request.ReadInt32()); if (item == null) { return; } item.RemoveFromDatabase(); Session.GetHabbo().GetInventoryComponent().AddNewItem(item.itemID, item.baseItem.ItemId, new StringData(item.songID.ToString()), 0, true, true); Session.GetHabbo().GetInventoryComponent().UpdateItems(false); Session.SendMessage(JukeboxComposer.SerializeSongInventory(Session.GetHabbo().GetInventoryComponent().songDisks)); Session.SendMessage(JukeboxComposer.Compose(musicController.PlaylistCapacity, musicController.Playlist.Values.ToList())); }
public async Task <IActionResult> PutSongItem([FromRoute] int id, [FromBody] SongItem songItem) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != songItem.Id) { return(BadRequest()); } _context.Entry(songItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SongItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
/// <summary> /// Removes the playlist item. /// </summary> internal void RemovePlaylistItem() { if (this.Session == null || this.Session.GetHabbo() == null || this.Session.GetHabbo().CurrentRoom == null) { return; } Room currentRoom = this.Session.GetHabbo().CurrentRoom; if (!currentRoom.GotMusicController()) { return; } RoomMusicController roomMusicController = currentRoom.GetRoomMusicController(); SongItem songItem = roomMusicController.RemoveDisk(this.Request.GetInteger()); if (songItem == null) { return; } songItem.RemoveFromDatabase(); this.Session.GetHabbo().GetInventoryComponent().AddNewItem(songItem.ItemId, songItem.BaseItem.ItemId, songItem.ExtraData, 0u, false, true, 0, 0, songItem.SongCode); this.Session.GetHabbo().GetInventoryComponent().UpdateItems(false); using (IQueryAdapter queryReactor = global::Plus.Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Format("UPDATE items_rooms SET user_id='{0}' WHERE id='{1}' LIMIT 1;", Session.GetHabbo().Id, songItem.ItemId)); } this.Session.SendMessage(JukeboxComposer.SerializeSongInventory(this.Session.GetHabbo().GetInventoryComponent().SongDisks)); this.Session.SendMessage(JukeboxComposer.Compose(roomMusicController.PlaylistCapacity, roomMusicController.Playlist.Values.ToList <SongInstance>())); }
private static SongItem?FindPlayingSong(bool next, int currentSongId, int playlistId, params int[] masteryIDs) { SongTable songTable = new SongTable(); PlaylistSongTable psTable = new PlaylistSongTable(); SongItem? songFound = null; string comparator = next ? ">" : "<"; string minMax = next ? "MIN" : "MAX"; string[] formattedCols = songTable.GetAllColumns().Select(x => "st." + x).ToArray(); string query = $"SELECT {minMax}(ps1.{psTable.PosInPlaylist})," + $" {string.Join(", ", formattedCols)}" + $" FROM {psTable.TableName} ps1 INNER JOIN {songTable.TableName} st" + $" ON ps1.{psTable.SongId} = st.{songTable.Id}" + $" WHERE ps1.{psTable.PlaylistId} = @playlistId"; if (masteryIDs.Any()) { string[] masteryParams = new string[masteryIDs.Length]; for (int i = 0; i < masteryIDs.Length; i++) { masteryParams[i] = "@masteryId" + i; } query += $" AND st.{songTable.MasteryId} IN (" + string.Join(", ", masteryParams) + ")"; } query += $" AND ps1.{psTable.PosInPlaylist} {comparator} (" + $" SELECT ps2.{psTable.PosInPlaylist} FROM {psTable.TableName} ps2 WHERE ps2.{psTable.SongId} = @currentSongId" + $" AND ps2.{psTable.PlaylistId} = @playlistId)"; using (var con = CreateConnection()) { SqliteCommand cmd = con.CreateCommand(); cmd.CommandText = query; cmd.Parameters.AddWithValue("playlistId", playlistId); for (int i = 0; i < masteryIDs.Length; i++) { cmd.Parameters.AddWithValue("masteryId" + i, masteryIDs[i]); } cmd.Parameters.AddWithValue("currentSongId", currentSongId); con.Open(); SqliteDataReader dataReader = cmd.ExecuteReader(); if (dataReader.Read() && !dataReader.IsDBNull(0)) { songFound = new SongItem(dataReader); } else { string info = "No {next} song found for songId {songId}, playlistId {playlistId} and masteryIDs {masteryIDs}"; Log.Information(info, next? "next" : "previous", currentSongId, playlistId, masteryIDs); } if (dataReader.Read()) { string info = "More than one {next} song found for songId {songId}, playlistId {playlistId} and masteryIDs {masteryIDs}"; Log.Error(info, next ? "next" : "previous", currentSongId, playlistId, masteryIDs); } } return(songFound); }
public void Handle(GameClient Session, ClientMessage Event) { if (((Session != null) && (Session.GetHabbo() != null)) && (Session.GetHabbo().CurrentRoom != null)) { Room currentRoom = Session.GetHabbo().CurrentRoom; if (currentRoom.CheckRights(Session, true)) { RoomMusicController roomMusicController = currentRoom.GetRoomMusicController(); if (roomMusicController.PlaylistSize < roomMusicController.PlaylistCapacity) { int num = Event.PopWiredInt32(); UserItem item = Session.GetHabbo().GetInventoryComponent().GetItemById((uint)num); if ((item != null) && (item.method_1().InteractionType == "musicdisc")) { SongItem diskItem = new SongItem(item); if (roomMusicController.AddDisk(diskItem) >= 0) { //diskItem.SaveToDatabase((int)currentRoom.Id); // <-- old diskItem.SaveToDatabase((int)roomMusicController.LinkedItemId); // <-- new Session.GetHabbo().GetInventoryComponent().method_12((uint)num, 0u, true); Session.GetHabbo().GetInventoryComponent().method_9(true); Session.SendMessage(JukeboxDiscksComposer.Compose(roomMusicController.PlaylistCapacity, roomMusicController.Playlist.Values.ToList <SongInstance>())); } } } } } }
public int AddDisk(SongItem DiskItem) { int songID = DiskItem.songID; if (songID == 0) { return(-1); } SongData song = SongManager.GetSong(songID); if (song == null) { return(-1); } if (this.mLoadedDisks.ContainsKey(DiskItem.itemID)) { return(-1); } this.mLoadedDisks.Add(DiskItem.itemID, DiskItem); int count = this.mPlaylist.Count; lock (this.mPlaylist) { this.mPlaylist.Add(count, new SongInstance(DiskItem, song)); } return(count); }
public void LoadMusic() { if (GetRoomMusicManager().LinkedItem != null) { using (IQueryAdapter dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT room_items_songs.songid,items.* FROM room_items_songs LEFT JOIN items ON items.id = room_items_songs.itemid WHERE room_items_songs.jukeboxid = " + GetRoomMusicManager().LinkedItem.Id); DataTable dTable = dbClient.getTable(); foreach (DataRow dRow in dTable.Rows) { int songID = (int)dRow["songid"]; int itemID = Convert.ToInt32(dRow["id"]); int baseID = Convert.ToInt32(dRow["base_item"]); SongItem item = new SongItem(itemID, songID, baseID); GetRoomMusicManager().AddDisk(item); } } if (GetRoomMusicManager().PlaylistSize > 0 && GetRoomMusicManager().LinkedItem.ExtraData != "0") { GetRoomMusicManager().Start(); } } }
public async Task <ActionResult <SongItem> > PostSongItem(SongItem songItem) { _context.SongItems.Add(songItem); await _context.SaveChangesAsync(); return(CreatedAtAction("GetSongItem", new { id = songItem.id }, songItem)); }
/// <summary> /// Adds the disk. /// </summary> /// <param name="diskItem">The disk item.</param> /// <returns>System.Int32.</returns> public int AddDisk(SongItem diskItem) { uint songId = diskItem.SongId; if (songId == 0u) { return(-1); } SongData song = SoundMachineSongManager.GetSong(songId); if (song == null) { return(-1); } lock (_mLoadedDisks) if (_mLoadedDisks.ContainsKey(diskItem.ItemId)) { return(-1); } lock (_mLoadedDisks) _mLoadedDisks.Add(diskItem.ItemId, diskItem); int count = _mPlaylist.Count; lock (_mPlaylist) _mPlaylist.Add(count, new SongInstance(diskItem, song)); return(count); }
protected override string GetDownloadUrl(SongItem songInfo) { try { JObject dlurlobj = JObject.Parse(Fetch(API_PROTOCOL, API_HOST, API_PATH + ServiceName + $"/song?id={songInfo.SongId}")); if (dlurlobj["code"].ToString() == "200") { if (dlurlobj["result"] is JObject) { dlurlobj = (JObject)dlurlobj["result"]; } else { dlurlobj = JObject.Parse(dlurlobj["result"].Value <string>()); } return(dlurlobj["url"].ToString()); } else { Log($"歌曲 {songInfo.SongName} 因为版权不能下载"); return(null); } } catch (Exception ex) { Log($"歌曲 {songInfo.SongName} 疑似版权不能下载(ex:{ex.Message})"); return(null); } }
internal void LoadMusic() { DataTable table; using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor()) { queryreactor.setQuery("SELECT items_rooms_songs.songid,items.id,items.base_item FROM items_rooms_songs LEFT JOIN items ON items.id = items_rooms_songs.itemid WHERE items_rooms_songs.roomid = " + this.RoomId); table = queryreactor.getTable(); } if (table != null) { foreach (DataRow dataRow in table.Rows) { uint songID = (uint)dataRow[0]; uint num = Convert.ToUInt32(dataRow[1]); int baseItem = Convert.ToInt32(dataRow[2]); string songCode = ""; string extraData = ""; using (IQueryAdapter queryreactor2 = CyberEnvironment.GetDatabaseManager().getQueryReactor()) { queryreactor2.setQuery("SELECT extra_data,songcode FROM items WHERE id = " + num); DataRow row = queryreactor2.getRow(); if (row != null) { extraData = (string)row["extra_data"]; songCode = (string)row["songcode"]; } } SongItem diskItem = new SongItem(num, songID, baseItem, extraData, songCode); this.GetRoomMusicController().AddDisk(diskItem); } } }
public void AddItem(string name, string artist, string album, ImageSource imag, string imagname, string source, int sign) { SongItem tem = new Song.SongItem(name, artist, album, imag, imagname, source, sign); selectedItem = tem; items.Add(tem); }
public async Task <ActionResult <SongItem> > PostSongItem(SongItem item) { _context.SongItems.Add(item); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(GetSongItem), new { id = item.Id }, item)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { Room Instance = Session.GetHabbo().CurrentRoom; if (Instance == null || Instance.GetRoomMusicManager().PlaylistSize >= MusicManager.PlaylistCapacity) { return; } int Itemid = Packet.PopInt(); Item DiskItem = Session.GetHabbo().GetInventoryComponent().GetItem(Itemid); if (DiskItem == null || DiskItem.GetBaseItem().InteractionType != InteractionType.MUSIC_DISC) { return; } SongItem SongItem = new SongItem(DiskItem); if (Instance.GetRoomMusicManager().AddDisk(SongItem) >= 0) { SongItem.SaveToDatabase(Instance.RoomId); Session.GetHabbo().GetInventoryComponent().RemoveItem(DiskItem.Id); List <SongInstance> list = Instance.GetRoomMusicManager().Playlist.Values.ToList(); Session.SendMessage(new GetJukeboxPlaylistsComposer(MusicManager.PlaylistCapacity, list)); Session.SendMessage(new GetJukeboxDisksComposer(Session.GetHabbo().GetInventoryComponent().songDisks)); list.Clear(); list = null; } }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { if (session.Room == null || !session.Room.Data.HasOwnerRights(session.Info)) { return; } int itemId = message.GetInteger(); SongItem item = session.Info.Inventory.GetFloorItem(itemId) as SongItem; if (item == null) { return; } SongMachineComponent songMachine = session.Room.Data.SongMachine; if (songMachine.TryAdd(item)) { session.Info.Inventory.FloorItems.Remove(item); router.GetComposer <RemoveInventoryObjectMessageComposer>().Compose(session, item.Id); ItemRepository.Save(item); } router.GetComposer <JukeboxPlaylistMessageComposer>().Compose(session, songMachine); }
/// <summary> /// Removes the playlist item. /// </summary> internal void RemovePlaylistItem() { if (Session?.GetHabbo() == null || Session.GetHabbo().CurrentRoom == null) { return; } Room currentRoom = Session.GetHabbo().CurrentRoom; if (!currentRoom.GotMusicController()) { return; } SoundMachineManager roomMusicController = currentRoom.GetRoomMusicController(); SongItem songItem = roomMusicController.RemoveDisk(Request.GetInteger()); if (songItem == null) { return; } songItem.RemoveFromDatabase(); Session.GetHabbo().GetInventoryComponent().AddNewItem(songItem.ItemId, songItem.BaseItem.Name, songItem.ExtraData, 0u, false, true, 0, 0, songItem.SongCode); Session.GetHabbo().GetInventoryComponent().UpdateItems(false); using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) queryReactor.RunFastQuery($"UPDATE items_rooms SET user_id='{Session.GetHabbo().Id}' WHERE id='{songItem.ItemId}' LIMIT 1;"); Session.SendMessage(SoundMachineComposer.SerializeSongInventory(Session.GetHabbo().GetInventoryComponent().SongDisks)); Session.SendMessage(SoundMachineComposer.Compose(roomMusicController.PlaylistCapacity, roomMusicController.Playlist.Values.ToList())); }
protected override string GetDownloadUrl(SongItem songItem) { try { long songId = songItem.SongId; DownloadSongInfo ds = MainConfig.Instance.LoginSession.LoginStatus ? _GetDownloadSongInfo(MainConfig.Instance.LoginSession, songId, MainConfig.Instance.Quality) : _GetDownloadSongInfo(songId, MainConfig.Instance.Quality); if (ds != null) { return(ds.Url); } else { Log($"获取下载链接失败了喵(服务器未返回下载链接)"); } } catch (WebException e) { Log($"获取下载链接失败了喵:{e.Message}\r\n这是由于网络原因导致获取失败, 如果多次出现, 请检查你的网络连接喵。"); } catch (Exception e) { Log($"获取下载链接失败了喵:{e.Message}"); } return(null); // 返回null, 点歌姬会自动移除掉当前歌曲 }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { if (session.Room == null) { return; } int itemId = message.GetInteger(); SongMachineComponent songMachine = session.Room.Data.SongMachine; SongItem item = songMachine.Find(itemId); if (item == null) { return; } songMachine.Remove(item); session.Info.Inventory.FloorItems.Add(item); ItemRepository.Save(item); SongItem[] items = session.Info.Inventory.FloorItems.OfType <SongItem>().ToArray(); router.GetComposer <UpdateInventoryMessageComposer>().Compose(session); router.GetComposer <SongsLibraryMessageComposer>().Compose(session, items); router.GetComposer <JukeboxPlaylistMessageComposer>().Compose(session, songMachine); }
public static void UpdateSong(SongItem song) { using (SqliteConnection con = CreateConnection()) { con.Open(); UpdateRow(con, new SongTable(), song); } }
private void ConfigureVerses(SongItem song) { verseCheckList.Items.Clear(); for (int index = 1; index <= song.VerseCount; index++) { verseCheckList.Items.Add(index, index == 1); } }
public AddNewSongWindow() { this.Owner = Application.Current.MainWindow; Song = new SongItem(); this.WindowStyle = WindowStyle.ToolWindow; this.ResizeMode = ResizeMode.NoResize; InitializeComponent(); ResetSongInformations(); }
private void ChangeStylesTemplate(ListView listView, SongItem itemToChangeTo) { //Change item SongItemTemplateSelector.CurrentSongItem = itemToChangeTo; //Refresh list collection var collection = listView.DataContext as SearchedSongsViewModel; collection?.SongsListView.Refresh(); }
//we suppose the song doesn't already exist! //Adds the song and then adds at the end of the playlists public static void AddSong(SongItem song) { SongTable songTable = new SongTable(); using (var con = CreateConnection()) { con.Open(); InsertRow(con, songTable, song); } AddPlaylistSongLink(1, song.Id); }
public static void SetSongMastery(SongItem song, MasteryItem mastery) { song.MasteryId = mastery.Id; SongTable table = new SongTable(); using (SqliteConnection con = CreateConnection()) { con.Open(); UpdateRow(con, table, song); } }
public async Task <IActionResult> PutSongItem(long id, SongItem item) { if (id != item.Id) { return(BadRequest()); } _context.Entry(item).State = EntityState.Modified; await _context.SaveChangesAsync(); return(NoContent()); }
protected override string GetDownloadUrl(SongItem songItem) { try { return(Fetch(API_PROTOCOL, "antiserver.kuwo.cn", API_PATH + $"/anti.s?uesless=/resource/&format=mp3&rid=MUSIC_{songItem.SongId}&response=url&type=convert_url")); } catch (Exception ex) { Log($"歌曲不能下载:{songItem.SongName}(ex:{ex.Message})"); return(null); } }
/// <summary> /// Sends message to background informing app has resumed /// Subscribe to MediaPlayer events /// </summary> public void ForegroundApp_Resuming(object sender, object e) { ApplicationSettingsHelper.SaveSettingsValue(AppConstants.AppState, AppConstants.ForegroundAppActive); SongItem song; try { song = Library.Current.NowPlayingList.ElementAt(CurrentSongIndex); } catch (IndexOutOfRangeException ex) { //DiagnosticHelper.TrackTrace("NPViewModel Resuming" + Environment.NewLine + Library.Current.NowPlayingList.Count + " " + CurrentSongIndex + Environment.NewLine + ex.Message, Microsoft.HockeyApp.SeverityLevel.Error); song = new SongItem(); } CurrentNr = CurrentSongIndex + 1; songId = song.SongId; SetCover(song.Path); Artist = song.Artist; Album = song.Album; Title = song.Title; fromDB = true; Rating = song.Rating; if (IsMyBackgroundTaskRunning) { AddMediaPlayerEventHandlers(); StartTimer(); TimeSpan t = BackgroundMediaPlayer.Current.NaturalDuration; double absvalue = (int)Math.Round(t.TotalSeconds - 0.5, MidpointRounding.AwayFromZero); ProgressBarMaxValue = absvalue; EndTime = BackgroundMediaPlayer.Current.NaturalDuration; PlaybackRate = BackgroundMediaPlayer.Current.PlaybackRate * 100.0; SendMessage(AppConstants.AppResumed, DateTime.Now.ToString()); if (BackgroundMediaPlayer.Current.CurrentState == MediaPlayerState.Playing) { PlayButtonContent = "\uE17e\uE103";//pause } else { PlayButtonContent = "\uE17e\uE102";//play } } else { PlaybackRate = 100.0; PlayButtonContent = "\uE17e\uE102";//play } }
protected override string GetDownloadUrl(SongItem songItem) { try { return($"https://music.163.com/song/media/outer/url?id={songItem.SongId}.mp3"); } catch (Exception ex) { Log($"歌曲不能下载:{songItem.SongName}(ex:{ex.Message})"); return(null); } }
protected override string GetDownloadUrl(SongItem songInfo) { var download_dir = fetcher.getSongInfo(songInfo.SongId); if (download_dir == null) { Log($"虾米:无法获取\"{songInfo.SongName}\"({songInfo.SongId})的下载地址"); return(null); } return(download_dir.Item3); }
public virtual bool TryAdd(SongItem item) { if (SongItems.Count < Capacity) { SongItems.Add(item); return(true); } else { return(false); } }
/// <summary> /// Adds the playlist item. /// </summary> internal void AddPlaylistItem() { if (Session?.GetHabbo() == null || Session.GetHabbo().CurrentRoom == null) return; Room currentRoom = Session.GetHabbo().CurrentRoom; if (!currentRoom.CheckRights(Session, true)) return; SoundMachineManager roomMusicController = currentRoom.GetRoomMusicController(); if (roomMusicController.PlaylistSize >= roomMusicController.PlaylistCapacity) return; uint num = Request.GetUInteger(); UserItem item = Session.GetHabbo().GetInventoryComponent().GetItem(num); if (item == null || item.BaseItem.InteractionType != Interaction.MusicDisc) return; var songItem = new SongItem(item); int num2 = roomMusicController.AddDisk(songItem); if (num2 < 0) return; songItem.SaveToDatabase(currentRoom.RoomId); Session.GetHabbo().GetInventoryComponent().RemoveItem(num, true); using (IQueryAdapter queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) queryReactor.RunFastQuery($"UPDATE items_rooms SET user_id='0' WHERE id={num} LIMIT 1"); Session.SendMessage(SoundMachineComposer.Compose(roomMusicController.PlaylistCapacity, roomMusicController.Playlist.Values.ToList())); }
public int AddDisk(SongItem DiskItem) { int songID = DiskItem.songID; if (songID == 0) { return -1; } SongData song = SongManager.GetSong(songID); if (song == null) { return -1; } if (this.mLoadedDisks.ContainsKey(DiskItem.itemID)) { return -1; } this.mLoadedDisks.Add(DiskItem.itemID, DiskItem); int count = this.mPlaylist.Count; lock (this.mPlaylist) { this.mPlaylist.Add(count, new SongInstance(DiskItem, song)); } return count; }
public SongInstance(SongItem Item, SongData SongData) { this.mDiskItem = Item; this.mSongData = SongData; }
/// <summary> /// Adds the disk. /// </summary> /// <param name="diskItem">The disk item.</param> /// <returns>System.Int32.</returns> public int AddDisk(SongItem diskItem) { var songId = diskItem.SongId; if (songId == 0u) return -1; var song = SoundMachineSongManager.GetSong(songId); if (song == null) return -1; lock (_mLoadedDisks) if (_mLoadedDisks.ContainsKey(diskItem.ItemId)) return -1; lock (_mLoadedDisks) _mLoadedDisks.Add(diskItem.ItemId, diskItem); var count = _mPlaylist.Count; lock (_mPlaylist) _mPlaylist.Add(count, new SongInstance(diskItem, song)); return count; }
/// <summary> /// Loads the music. /// </summary> internal void LoadMusic() { DataTable table; using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery($"SELECT items_songs.songid,items_rooms.id,items_rooms.base_item FROM items_songs LEFT JOIN items_rooms ON items_rooms.id = items_songs.itemid WHERE items_songs.roomid = {RoomId}"); table = queryReactor.GetTable(); } if (table == null) return; foreach (DataRow dataRow in table.Rows) { var songId = (uint) dataRow[0]; var num = Convert.ToUInt32(dataRow[1]); var baseItem = Convert.ToInt32(dataRow[2]); var songCode = string.Empty; var extraData = string.Empty; using (var queryreactor2 = Azure.GetDatabaseManager().GetQueryReactor()) { queryreactor2.SetQuery($"SELECT extra_data,songcode FROM items_rooms WHERE id = {num}"); var row = queryreactor2.GetRow(); if (row != null) { extraData = (string) row["extra_data"]; songCode = (string) row["songcode"]; } } var diskItem = new SongItem(num, songId, baseItem, extraData, songCode); GetRoomMusicController().AddDisk(diskItem); } }
internal void LoadMusic() { DataTable table; DataTable table2; using (DatabaseClient @class = Essential.GetDatabase().GetClient()) { table = @class.ReadDataTable("SELECT * FROM items_rooms_songs WHERE roomid = '" + Id + "'"); // <-- old table2 = @class.ReadDataTable("SELECT * FROM items_jukebox_songs WHERE jukeboxid = '" + this.GetRoomMusicController().LinkedItemId + "'"); // <-- new } foreach (DataRow row in table.Rows) { int songID = (int)row["songid"]; uint num2 = (uint)row["itemid"]; int baseItem = (int)row["baseitem"]; SongItem diskItem = new SongItem((int)num2, songID, baseItem); diskItem.RemoveFromDatabase(); diskItem.SaveToDatabase(this.GetRoomMusicController().LinkedItemId); this.GetRoomMusicController().AddDisk(diskItem); } foreach (DataRow row in table2.Rows) { int songID = (int)row["songid"]; uint num2 = (uint)row["itemid"]; int baseItem = (int)row["baseitem"]; SongItem diskItem = new SongItem((int)num2, songID, baseItem); this.GetRoomMusicController().AddDisk(diskItem); } }
/// <summary> /// Initializes a new instance of the <see cref="SongInstance"/> class. /// </summary> /// <param name="item">The item.</param> /// <param name="songData">The song data.</param> public SongInstance(SongItem item, SongData songData) { DiskItem = item; SongData = songData; }