private async void ContentDialog_SecondaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { var d = args.GetDeferral(); var tasks = new List <Task <StorageFile> >(); StorageFolder folder; try { if (!Settings.Current.DownloadPathToken.IsNullorEmpty()) { folder = await Windows.Storage.AccessCache.StorageApplicationPermissions. FutureAccessList.GetFolderAsync(Settings.Current.DownloadPathToken); } else { var lib = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Music); folder = await lib.SaveFolder.CreateFolderAsync("Download", CreationCollisionOption.OpenIfExists); } } catch (Exception) { var lib = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Music); folder = await lib.SaveFolder.CreateFolderAsync("Download", CreationCollisionOption.OpenIfExists); } MainPage.Current.PopMessage(SmartFormat.Smart.Format("Starting download {0} {0:song|songs}", SongList.Count)); foreach (var item in SongList) { var t = Task.Run(async() => { var res = await FileTracker.DownloadMusic(item.Song, folder); await FileTracker.AddTags(res, item.Song); }); } d.Complete(); }
internal async Task DowmloadOrModifyAsync() { if (Song.IsOnline) { StorageFolder folder; try { if (!Settings.Current.DownloadPathToken.IsNullorEmpty()) { folder = await Windows.Storage.AccessCache.StorageApplicationPermissions. FutureAccessList.GetFolderAsync(Settings.Current.DownloadPathToken); } else { var lib = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Music); folder = await lib.SaveFolder.CreateFolderAsync("Download", CreationCollisionOption.OpenIfExists); } } catch (Exception) { var lib = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Music); folder = await lib.SaveFolder.CreateFolderAsync("Download", CreationCollisionOption.OpenIfExists); } var progress = await FileTracker.DownloadMusic(Song.Song, folder); progress.Progress = DownloadProgressChanged; progress.Completed = DownloadCompleted; } else { var dialog = new TagDialog(Song); await dialog.ShowAsync(); } }