public async Task DeleteBlobsAsync() { if (SelectedBlobs.Count == 0) { return; } string message = SelectedBlobs.Count == 1 ? $"'{SelectedBlobs.First().Name}'" : $"{"item".ToQuantity(SelectedBlobs.Count)}"; if (await DialogService.AskYesNoAsync( Strings.BackgroundTask_Delete_DialogTitle, "Would you like to delete " + message + "?")) { await TaskService.ScheduleAsync(new DeleteFilesTask(Account, Storage, SelectedBlobs)); } }
public void DownloadBlobs() { if (SelectedBucket is null) { return; } using (var dialog = new System.Windows.Forms.FolderBrowserDialog()) { System.Windows.Forms.DialogResult result = dialog.ShowDialog(); if (result != System.Windows.Forms.DialogResult.OK) { return; } var entries = SelectedBlobs.Select(b => b.NativeBlob).ToList(); AddTask(new DownloadBlobsTaskViewModel(dialog.SelectedPath, entries)); } }
private async void CopyLink() { if (SelectedBlobs?.Count < 0) { return; } SelectedBucket.IsBusy = true; try { var blobs = new List <IBlob>(); blobs.AddRange(SelectedBlobs.Select(b => b.NativeBlob).OfType <IBlob>()); foreach (var dirVm in SelectedBlobs.Where(b => b.IsDirectory)) { var children = await dirVm.NativeBlob.ListAllBlobsAsync(); blobs.AddRange(children); } var builder = new StringBuilder(); foreach (var blob in blobs) { var link = blob.GetLink(TimeSpan.FromHours(24)); builder.AppendLine(link.AbsoluteUri); } Clipboard.SetText(builder.ToString()); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { SelectedBucket.IsBusy = false; } }