Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
 private void ReportSubmittedBackgroundTask_Click(object sender, RoutedEventArgs e)
 {
     m_shareOperation.ReportSubmittedBackgroundTask();
     rootPage.NotifyUser("Submitted background task...", NotifyType.StatusMessage);
 }