示例#1
0
        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);
        }
示例#2
0
        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;
        }