ReportError() public method

public ReportError ( [ value ) : void
value [
return void
コード例 #1
0
        public async Task ShareAsync(ShareOperation shareOperation)
        {
            _shareOperation = shareOperation;
            shareOperation.ReportStarted();
            var dataPackageView = shareOperation.Data;

            RequestTitle = shareOperation.Data.Properties.Title;
            RequestDescription = shareOperation.Data.Properties.Description;

            try
            {
                if ( dataPackageView.IsTextMessage() )
                {
                    IsTextRequest = true;
                    TextShareValue = await dataPackageView.GetTextAsync();
                }
                else if (dataPackageView.IsUrlMessage())
                {
                    IsUrlRequest = true;
                    var foundUri = await dataPackageView.GetUriAsync();

                    UrlShareValue = foundUri.AbsoluteUri;
                }
                else if (dataPackageView.IsStorageItemsMessage())
                {
                    IsStorageRequest = true;
                    var storageItems = await dataPackageView.GetStorageItemsAsync();
                    if ( storageItems.Any())
                    {
                        var storageItem = storageItems.First();
                        if ( storageItem.IsOfType(StorageItemTypes.File))
                        {
                            StorageFileName = storageItem.Name;
                            var thumbNail = dataPackageView.Properties.Thumbnail;
                            var thumbnailStream = await thumbNail.OpenReadAsync();

                            ImageShareValue = new BitmapImage();
                            ImageShareValue.SetSource(thumbnailStream);
                        }
                    }
                }
                else if (dataPackageView.IsImageMessage())
                {
                    IsImageRequest = true;
                    var imageRecieved = await dataPackageView.GetBitmapAsync();
                    var imageStream = await imageRecieved.OpenReadAsync();

                    ImageShareValue = new BitmapImage();
                    ImageShareValue.SetSource(imageStream);
                }
            }
            catch (Exception e)
            {
                shareOperation.ReportError(e.Message);               
                RequestDescription = e.Message;
            }
            

            shareOperation.ReportDataRetrieved();
        }
コード例 #2
0
        /// <summary>
        /// Invoked when this page is about to be displayed in a Frame.
        /// </summary>
        /// <param name="e">Event data that describes how this page was reached.  The Parameter
        /// property is typically used to configure the page.</param>
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            BottomControls.Visibility = Visibility.Collapsed; // To avoid control flashes as we transit this page quickly
            base.OnNavigatedTo(e); // Glenn adds. This will set the _pagekey variable, which otherwise would be null and later throw an exception in OnNavigatedFrom.
            var args = e.Parameter as ShareTargetActivatedEventArgs;
            
            if (args == null)
            {
                await CaptureButton_ClickImpl();// was before Release 7, but need await to not show bottom controls flashing: CaptureButton_Click(this, null); // Glenn adds
                BottomControls.Visibility = Visibility.Visible;
                return;
            }
            BottomControls.Visibility = Visibility.Visible;
            Caption.Text = App.CurrentPatient.ImageCaption; // TO DO: Make this actually useful for "Original filename: <whatever>" when image picked from file.
            // TO DO... distinguish NewReport & ViewEdit handling of this

            _shareOperation = args.ShareOperation;

            if (_shareOperation.Data.Contains(
                StandardDataFormats.Bitmap))
            {
                _bitmap = await _shareOperation.Data.GetBitmapAsync();
                await ProcessBitmap();
            }
            else if (_shareOperation.Data.Contains(
                StandardDataFormats.StorageItems))
            {
                _items = await _shareOperation.Data.GetStorageItemsAsync();
                await ProcessStorageItems();
            }
            else _shareOperation.ReportError(
                "TriagePic was unable to find a valid bitmap.");
        }
コード例 #3
0
 private void OnClipboardContentChanged(object sender, object e)
 {
     if (_share != null)
     {
         try
         {
             _share.ReportCompleted();
             _share = null;
         }
         catch(Exception ex)
         {
             Debug.WriteLine(ex);
             _share.ReportError(ex.ToString());
         }
     }
 }
        public void Activate(ShareOperation shareOperation)
        {
            string title = null;
            string description = null;
            try
            {
                _shareOperation = shareOperation;

                title = _shareOperation.Data.Properties.Title;
                description = _shareOperation.Data.Properties.Description;
                foreach (var format in _shareOperation.Data.AvailableFormats)
                {
                    _shareFormats.Add(format);
                }

                Title = title;
                Description = description;

            }
            catch (Exception ex)
            {
                _shareOperation.ReportError(ex.Message);
            }
        }
コード例 #5
0
        protected override void WireMessages()
        {
            Messenger.Default.Register<NotificationMessage>(this, m =>
            {
                if (m.Notification.Equals(Constants.Messages.ReaderViewLeftMsg))
                {
                    ShowFinishedScreen = false;
                    if (_readerTimer != null && _readerTimer.IsEnabled)
                    {
                        _readerTimer.Stop();
                    }

                    var wordsRead = SelectedIndex * _settingsService.WordsAtATime;
                    var articleNotFinished = wordsRead < SelectedItem.WordCount;
                    if (articleNotFinished)
                    {
                        _roamingSettings.Set(SelectedItem.InternalId, wordsRead);
                    }
                    else
                    {
                        _roamingSettings.Remove(SelectedItem.InternalId);
                    }

                    SaveInProgressItems(wordsRead, !articleNotFinished);
                }
            });

            Messenger.Default.Register<ShareMessage>(this, async m =>
            {
                _shareOperation = (ShareOperation)m.Sender;
                if (_shareOperation.Data.Contains(StandardDataFormats.WebLink))
                {
                    var url = await _shareOperation.Data.GetWebLinkAsync();
                    var message = new UriSchemeMessage(url.ToString(), true, SchemeType.Read);

                    await SaveItemFromExternal(message, async () =>
                    {
                        var title = _loader.GetString("ShareErrorTitle");
                        await _messageBox.ShowAsync(_loader.GetString("ShareErrorText"), title, new List<string> { _loader.GetString("MessageBoxOk") });
                        _shareOperation.ReportError(title);
                    });
                }
                else
                {
                    _shareOperation.ReportCompleted();
                }
            });

            Messenger.Default.Register<UriSchemeMessage>(this, async m =>
            {
                if (m.SchemeType != SchemeType.Read)
                {
                    return;
                }

                await SaveItemFromExternal(m);
            });
        }
コード例 #6
0
        public async Task ActivateAsync(ShareTargetActivatedEventArgs args)
        {
            try
            {
                shareOperation = args.ShareOperation;

                LoadTargets();
                await ExtractShareData(args);
            }
            catch
            {
                shareOperation.ReportError("Could not determine the type of data to share");
            }
        }