public void Copy() { try { if (_share.Data.Properties.ApplicationName != Constants.ApplicationName) { _share.ReportSubmittedBackgroundTask(); var content = new DataPackage(); _values.CopyTo(content); Windows.ApplicationModel.DataTransfer.Clipboard.SetContent(content); Windows.ApplicationModel.DataTransfer.Clipboard.Flush(); Windows.ApplicationModel.DataTransfer.Clipboard.ContentChanged += OnClipboardContentChanged; _share.DismissUI(); } else { _share.ReportCompleted(); } } catch (Exception ex) { _share.ReportError(ex.Message); } }
private async Task UploadToJiraAsync(ShareOperation shareOperation, string jiraId, string comment) { // Read all images. var imageStreams = await GetImageStreamsAsync(shareOperation); var files = (await Task.WhenAll(imageStreams.AsParallel() .Select(async kv => { var originalStream = await kv.Value; var memoryStream = new MemoryStream(); await originalStream.AsStream().CopyToAsync(memoryStream); memoryStream.Position = 0; originalStream.Dispose(); return(new { kv.Key, Value = memoryStream }); }))) .ToDictionary(kv => kv.Key, kv => kv.Value); shareOperation.ReportSubmittedBackgroundTask(); // Send images to Jira. var jiraClient = new HttpJiraClient(new Uri($"https://{SettingsStore.JiraUrlPrefix}.atlassian.net/rest/api/2"), SettingsStore.JiraUser, SettingsStore.JiraPassword, SettingsStore.JiraUser); if (SettingsStore.JiraUrlPrefix.ToUpper() == TEST_PREFIX.ToUpper()) { jiraClient.TestMode = true; } foreach (var file in files) { await jiraClient.AddIssueAttachmentAsync(jiraId, file.Key, file.Value); } if (!string.IsNullOrWhiteSpace(comment)) { await jiraClient.AddCommentAsync(jiraId, comment, true); } }
private void ReportSubmittedBackgroundTask_Click(object sender, RoutedEventArgs e) { m_shareOperation.ReportSubmittedBackgroundTask(); rootPage.NotifyUser("Submitted background task...", NotifyType.StatusMessage); }