private async void NewPlaylist_Click(object sender, RoutedEventArgs e) { CreatePlaylistDialog dialog = new CreatePlaylistDialog(); var result = await dialog.ShowAsync(); if (result == ContentDialogResult.Secondary) { return; } string playlistName = dialog.PlaylistName; List <Song> PlaylistSongs = new List <Song>(); var Indexes = listOfSongs.SelectedRanges; List <Song> Mainlist = listOfSongs.DataContext as List <Song>; foreach (var index in Indexes) { int firstindex = index.FirstIndex; int lastindex = index.LastIndex; PlaylistSongs.AddRange(Mainlist.GetRange(firstindex, (int)index.Length)); } PlayList playList = new PlayList(); playList.Name = playlistName; playList.songs = PlaylistSongs; playList.WriteToFileAsync(); PlayList.UserPlayLists.Add(playlistName); PlayList.PlaylistAdded.Invoke(playlistName, new EventArgs()); Tuple <PlayList, Frame> tuple = new Tuple <PlayList, Frame>(playList, mainPageParams.CentreFrame); mainPageParams.CentreFrame.Navigate(typeof(PlaylistDisplay), tuple); }
private async void PlaylistName_Click(object sender, RoutedEventArgs e) { // Get user selected songs List <Song> UserSelectedSongs = new List <Song>(); var Indexes = listOfSongs.SelectedRanges; List <Song> Mainlist = listOfSongs.DataContext as List <Song>; foreach (var index in Indexes) { int firstindex = index.FirstIndex; int lastindex = index.LastIndex; UserSelectedSongs.AddRange(Mainlist.GetRange(firstindex, (int)index.Length)); } // Get playlist name MenuFlyoutItem flyoutItem = sender as MenuFlyoutItem; string PlaylistName = flyoutItem.Text; // Create Playlist object : playlist name in which we have existing songs PlayList playList = await PlayList.GetPlayListFromFileAsync(PlaylistName); // Add selected songs in playlist playList.songs.AddRange(UserSelectedSongs); // Display Playlist object in PlaylistDisplay Page playList.WriteToFileAsync(); Tuple <PlayList, Frame> tuple = new Tuple <PlayList, Frame>(playList, mainPageParams.CentreFrame); mainPageParams.CentreFrame.Navigate(typeof(PlaylistDisplay), tuple); }
private void DeleteSong_Click(object sender, RoutedEventArgs e) { string playlistName = Title.Text; List <Song> PlaylistSongs = new List <Song>(); var Indexes = listOfSongs.SelectedRanges; List <Song> Mainlist = listOfSongs.DataContext as List <Song>; var reversedIndexes = Indexes.Reverse(); foreach (var index in reversedIndexes) { int firstindex = index.FirstIndex; int lastindex = index.LastIndex; Mainlist.RemoveRange(firstindex, (int)index.Length); } PlayList playList = new PlayList(); playList.Name = playlistName; playList.songs = Mainlist; playList.WriteToFileAsync(); listOfSongs.DataContext = null; listOfSongs.DataContext = Mainlist; }