async void RenamePlaylist(object playlist) { var selectedPlaylist = playlist != null ? playlist as Playlist : Playlist; //get the playlist to delete. var dialog = new InputDialog() { Title = "Rename this playlist", Text = selectedPlaylist.Name, Description = selectedPlaylist.Description }; var Playlists = new Dictionary <Playlist, IEnumerable <Mediafile> >(); if (await dialog.ShowAsync() == ContentDialogResult.Primary) { var pl = new Playlist() { Name = dialog.Text, Description = dialog.Description }; string path = ApplicationData.Current.LocalFolder.Path + @"\playlists\"; if (File.Exists(path + selectedPlaylist.Name + ".db")) { File.Move(path + selectedPlaylist.Name + ".db", path + pl.Name + ".db"); } PlaylistsItems.First(t => t.Label == selectedPlaylist.Name).Arguments = pl; PlaylistsItems.First(t => t.Label == selectedPlaylist.Name).Label = pl.Name; //change playlist name in the hamburgermenu OptionItems.First(t => t.Text == selectedPlaylist.Name).Text = pl.Name; //change playlist name in context menu of each song. using (LibraryService service = new LibraryService(new DatabaseService())) { service.RemovePlaylist(selectedPlaylist); //delete from database. service.AddPlaylist(pl); //add new playlist in the database. Playlist = pl; //set this.Playlist to pl (local variable); } } }
async void DeletePlaylist(object playlist) { var selectedPlaylist = playlist != null ? playlist as Playlist : Playlist; //get the dictionary containing playlist and songs. MessageDialog dia = new MessageDialog("Do you want to delete this playlist?", "Confirmation"); dia.Commands.Add(new Windows.UI.Popups.UICommand("Yes") { Id = 0 }); dia.Commands.Add(new Windows.UI.Popups.UICommand("No") { Id = 1 }); dia.DefaultCommandIndex = 0; dia.CancelCommandIndex = 1; var result = await dia.ShowAsync(); if (result.Label == "Yes") { string path = ApplicationData.Current.LocalFolder.Path + @"\playlists\" + selectedPlaylist.Name + ".db"; if (File.Exists(path)) { File.Delete(path); } PlaylistsItems.Remove(PlaylistsItems.First(t => t.Label == selectedPlaylist.Name)); //delete from hamburger menu OptionItems.Remove(OptionItems.First(t => t.Text == selectedPlaylist.Name)); //delete from context menu using (LibraryService service = new LibraryService(new DatabaseService())) { service.RemovePlaylist(selectedPlaylist);//delete from database. } } }