private async void OnShellDialogMessageReceived(ShellDialogResponseMessage message)
        {
            if (!message.IsItForMe(this.correlationId))
            {
                return;
            }

            try
            {
                if (message.Response == ShellDialogButton.Cancel)
                {
                    return;
                }
                var changed = AccessKeyId != this.widget.LedgerBook.MobileSettings.AccessKeyId;
                changed |= AccessKeySecret != this.widget.LedgerBook.MobileSettings.AccessKeySecret;
                changed |= AmazonRegion != this.widget.LedgerBook.MobileSettings.AmazonS3Region;
                if (changed)
                {
                    this.widget.LedgerBook.MobileSettings.AccessKeyId     = AccessKeyId;
                    this.widget.LedgerBook.MobileSettings.AccessKeySecret = AccessKeySecret;
                    this.widget.LedgerBook.MobileSettings.AmazonS3Region  = AmazonRegion;
                    this.appDbService.NotifyOfChange(ApplicationDataType.Ledger);
                }
                await AttemptUploadAsync();
            }
            finally
            {
                this.widget = null;
            }
        }
 private void OnWidgetActivatedMessageReceived(WidgetActivatedMessage message)
 {
     this.widget = message.Widget as UpdateMobileDataWidget;
     if (this.widget != null && this.widget.Enabled)
     {
         AccessKeyId     = this.widget.LedgerBook.MobileSettings.AccessKeyId;
         AccessKeySecret = this.widget.LedgerBook.MobileSettings.AccessKeySecret;
         AmazonRegion    = this.widget.LedgerBook.MobileSettings.AmazonS3Region;
         MessengerInstance.Send(new ShellDialogRequestMessage(BudgetAnalyserFeature.Dashboard, this, ShellDialogType.OkCancel)
         {
             CorrelationId = this.correlationId,
             Title         = "Upload Mobile Summary Data"
         });
     }
 }