/// <summary> /// add song in existing playlist /// </summary> /// <param name="plist"></param> private void AddPlaylistSongs(Model.Playlist plist) { try { //assuming only occurence of the id - add validation if multiple Model.Playlist pListtoAddSong = this._inputMixtapeModel.playlists.Find(x => x.id == plist.id); if (pListtoAddSong != null) { //if no validation required we can directly add all the song //but we might add a song in the file only before this openration //so need change before adding all the songs //pListtoAddSong.song_ids.AddRange(plist.song_ids); foreach (string newSongID in plist.song_ids) { if (this._inputMixtapeModel.songs.Where(x => x.id == newSongID).Count() > 0) { pListtoAddSong.song_ids.Add(newSongID); } else { Helper.LogHelper.LogInformation(string.Format("No Song Exists songid:{0}", newSongID), Helper.LogType.Warnings); } } } else { Helper.LogHelper.LogInformation(string.Format("No Playlist Exists to add song PlaylistID:{0}", plist.id), Helper.LogType.Warnings); } } catch (Exception ex) { Helper.LogHelper.LogError(ex); } }
/// <summary> /// remove a song from the existing playlist /// </summary> /// <param name="plist"></param> private void RemovePlayListSongs(Model.Playlist plist) { //assuming only occurence of the id - add validation if multiple Model.Playlist pListtoRemoveSong = this._inputMixtapeModel.playlists.Find(x => x.id == plist.id); if (pListtoRemoveSong != null) { foreach (string songid in plist.song_ids) { //remove if exists - ignore if doesn't pListtoRemoveSong.song_ids.Remove(songid); } } else { Helper.LogHelper.LogInformation(string.Format("No Playlist Exists to remove song PlaylistID:{0}", plist.id), Helper.LogType.Warnings); } }
/// <summary> /// add playlist to output file /// </summary> /// <param name="plist"></param> private void AddPlayList(Model.Playlist plist) { plist.action = ""; plist.id = Helper.ModelHelper.GetNewPlayListID(this._inputMixtapeModel); this._inputMixtapeModel.playlists.Add(plist); }
/// <summary> /// remove existing playlist /// </summary> /// <param name="plist"></param> private void RemovePlayList(Model.Playlist plist) { //remove if exists - ignore if doesn't exists this._inputMixtapeModel.playlists.RemoveAll(x => x.id == plist.id); }