public void CreatePlaylist(string playlistName) { var playlist = new Playlist { PlaylistName = playlistName }; playlistRepository.InsertOrUpdate(playlist); Playlists.Add(playlist); }
public Playlist CreateTemporaryPlaylist(string folderPath) { var playlist = new Playlist { PlaylistName = Guid.NewGuid().ToString(), }; var songs = songService.CreateSongsFromFilesInFolder(folderPath); songs.ForEach(x => playlist.Songs.Add(x)); return playlist; }
public void InsertOrUpdate(Playlist playlist) { var existing = userSettings.Playlists.FirstOrDefault(x => x.PlaylistId == playlist.PlaylistId); if (existing != null) { userSettings.Playlists[userSettings.Playlists.IndexOf(existing)] = playlist; } else { userSettings.Playlists.Add(playlist); } }
public void Initialize(Playlist playlist = null) { if (playlist == null) { DisplayName = "Create a new playlist"; Playlist = new Playlist { PlaylistName = String.Empty }; PlaylistName = String.Empty; } else { DisplayName = "Rename playlist"; Playlist = playlist; PlaylistName = playlist.PlaylistName; } }
/// <summary> /// Sorts the songs in a playlist /// </summary> /// <param name="property"></param> private void Sort(string property) { if (!String.IsNullOrEmpty(property)) { Playlist playlist = playlistService.SortSongsInPlaylist(property, SelectedPlaylist); if (currentPlaylist != null && SelectedPlaylist.PlaylistId == currentPlaylist.PlaylistId) { activeIndex = playlist.Songs.IndexOf(CurrentSong); currentPlaylist = playlist; SelectedPlaylist = playlist; } } }
public void AddSongsToPlaylist(Playlist playlist, List<Song> songs) { songs.ForEach(x => playlist.Songs.Add(x)); playlistRepository.InsertOrUpdate(playlist); }
/// <summary> /// Opens a playlist /// </summary> public void OpenPlaylist() { try { if (SelectedPlaylist != null) { playlistService.LoadPlaylist(SelectedPlaylist); if (currentPlaylist == null || currentPlaylist.PlaylistName.Equals(SelectedPlaylist.PlaylistName)) { currentPlaylist = SelectedPlaylist; activeIndex = currentPlaylist.Songs.IndexOf(CurrentSong); } NumberOfSongsInPlaylist = SelectedPlaylist.Songs.Count + " songs"; } } catch (Exception ex) { dialogService.ShowMessageBox(ex.ToString()); } }
/// <summary> /// Play selected item in song list /// </summary> public void PlaySelected() { try { if (SelectedMediaInList != null && SelectedMediaInList != CurrentSong) { OpenSong(SelectedMediaInList); activeIndex = SelectedPlaylist.Songs.IndexOf(SelectedMediaInList); if (currentPlaylist == null || !currentPlaylist.PlaylistName.Equals(SelectedPlaylist.PlaylistName)) currentPlaylist = SelectedPlaylist; } } catch (Exception ex) { dialogService.ShowMessageBox(ex.ToString()); } }
public Playlist CreateTemporaryPlaylist(List<string> files) { var playlist = new Playlist { PlaylistName = Guid.NewGuid().ToString(), }; var songs = songService.CreateSongsFromFiles(files); songs.ForEach(x => playlist.Songs.Add(x)); return playlist; }
public void DeletePlaylist(Playlist playlist) { playlistRepository.Remove(playlist); Playlists.Remove(playlist); }
public void LoadPlaylist(Playlist playlist) { Songs.Clear(); playlist.Songs.ForEach(x => Songs.Add(x)); }
public void InsertOrUpdatePlaylist(Playlist playlist) { if (Playlists.All(x => x.PlaylistId != playlist.PlaylistId)) { Playlists.Add(playlist); } playlistRepository.InsertOrUpdate(playlist); playlistRepository.SaveChanges(); }
public void Remove(Playlist playlist) { userSettings.Playlists.Remove(playlist); SaveChanges(); }
public void UpdateMusicLibrary() { if (String.IsNullOrEmpty(Settings.Default.LibraryPath)) { Settings.Default.LibraryPath = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic); Settings.Default.Save(); } var playlist = new Playlist { PlaylistName = "Music Library" }; var songs = songService.CreateSongsFromFilesInFolder(Path.GetFullPath(Settings.Default.LibraryPath)); AddSongsToPlaylist(playlist, songs); Playlists.Insert(0, playlist); playlistRepository.InsertOrUpdate(playlist); playlistRepository.SaveChanges(); LoadPlaylist(playlist); }
public Playlist SortSongsInPlaylist(string property, Playlist playlist) { var tempPlaylist = new Playlist { PlaylistName = playlist.PlaylistName }; tempPlaylist.Songs.AddRange(sortService.PerformSorting(property, playlist.Songs)); LoadPlaylist(tempPlaylist); return tempPlaylist; }
public void RemoveSongsFromPlaylist(Playlist playlist, List<Song> songs) { songs.ForEach(x => playlist.Songs.Remove(x)); playlistRepository.InsertOrUpdate(playlist); }
public void LoadSongsInPlaylist(Playlist playlist) { Songs.Clear(); }