public bool AddSongToPlaylist(int playlistID, int songID) { List <int> songsID = Converter.StringToListOfInt(Playlists.Find(playlistID).SongsID); songsID.Add(songID); Playlists.Find(playlistID).SongsID = Converter.ListOfIntToString(songsID); return(SaveChanges() > 0); }
public void DeletePlaylist(int id) { foreach (Song song in GetSongsOfPlaylist(id)) { DeleteSongFromPlaylist(id, song.ID); } Playlists.Remove(Playlists.Find(id)); SaveChanges(); }
public bool UserOwnsPlaylist(string userID, int playlistID) { Playlist playlist = Playlists.Find(playlistID); if (playlist == null) { return(false); } return(playlist.UserID == userID); }
public void LoadCurrentPlaylist(string newCurrentPlaylist) { libraryCurrentlyPlaying = false; var temporaryPlaylist = Playlists.Find(x => x.name.Equals(newCurrentPlaylist)); if (!PlaylistsUrl.ContainsKey(newCurrentPlaylist)) { SetCurrentPlaylistSongUrl(temporaryPlaylist); } currentPlaylistSongUrl = PlaylistsUrl[newCurrentPlaylist]; CurrentPlaylist = temporaryPlaylist; }
public void DeleteSongFromPlaylist(int playlistID, int songID) { List <int> songsID = Converter.StringToListOfInt(Playlists.Find(playlistID).SongsID); songsID.Remove(songID); Playlists.Find(playlistID).SongsID = Converter.ListOfIntToString(songsID); Song song = Songs.Find(songID); Songs.Remove(song); SaveChanges(); if (!Songs.Where(s => s.Path == song.Path).Any()) { File.Delete(_hostEnvironment.WebRootPath + song.Path); } }
//return: true - current playlist was removed; public bool RemovePlaylist(string name) { bool removedCurrentPlaylist = CurrentPlaylist.name.Equals(name); if (removedCurrentPlaylist) { LoadLibraryMediaPlaylist(); } var playlists = new List <IWMPPlaylist>(); for (int i = 0; i < mPlayer.playlistCollection.getByName(name).count; i++) { playlists.Add(mPlayer.playlistCollection.getByName(name).Item(i)); } playlists.ForEach(x => mPlayer.playlistCollection.remove(x)); Playlists.Remove(Playlists.Find(x => x.name.Equals(name))); return(removedCurrentPlaylist); }
public bool RemoveLibrary(string name) { var library = Libraries.Find(x => x.Name.Equals(name)); var libraryPlaylistName = library.Playlist.name; bool removedCurrentLibrary = CurrentPlaylist.name.Equals(libraryPlaylistName); var removePlaylists = new List <IWMPPlaylist>(); for (int i = 0; i < mPlayer.playlistCollection.getByName(libraryPlaylistName).count; i++) { var media = mPlayer.playlistCollection.getByName(libraryPlaylistName).Item(i); removePlaylists.Add(media); } removePlaylists.ForEach(x => mPlayer.playlistCollection.remove(x)); Playlists.Remove(Playlists.Find(x => x.name.Equals(name))); Libraries.Remove(library); RemoveLibraryTracksFromAllLibrariesPlaylist(library.Url); return(removedCurrentLibrary); }
public bool RenamePlaylist(int playlistID, string newTitle) { Playlists.Find(playlistID).Name = newTitle; return(SaveChanges() > 0); }
public Playlist GetPlaylist(int playlistID) { return(Playlists.Find(playlistID)); }
public List <Song> GetSongsOfPlaylist(int playlistID) { List <int> songsID = Converter.StringToListOfInt(Playlists.Find(playlistID).SongsID); return(Songs.Where(song => songsID.Contains(song.ID)).ToList()); }