public void CheckJobStatus()
        {
            var client = BrightstarService.GetClient(Store.Source.ConnectionString);

            _transactionJob = client.GetJobInfo(Store.Location, _transactionJob.JobId);
            if (_transactionJob.JobCompletedOk)
            {
                ValidationMessages.Clear();
                ValidationMessages.Add(Strings.TransactionSuccess);
            }
            else if (_transactionJob.JobCompletedWithErrors)
            {
                ValidationMessages.Clear();
                ValidationMessages.Add(Strings.TransactionFailed);
                ValidationMessages.Add(_transactionJob.ExtractJobErrorMessage(true));
                Messenger.Default.Send(
                    new ShowDialogMessage("Transaction failed",
                                          "Transaction failed with status: " + _transactionJob.StatusMessage,
                                          MessageBoxImage.Error, MessageBoxButton.OK), "MainWindow");
            }
            else
            {
                _dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, new JobMonitorDelegate(this.CheckJobStatus));
            }
        }
Пример #2
0
        private void UpdateStatusProperties()
        {
            if (_importJobInfo.JobPending)
            {
                ProgressText = "Job is currently queued for processing.";
                StatusImage  = "/Polaris;component/Resources/hourglass.png";
            }
            if (_importJobInfo.JobStarted)
            {
                ProgressText = !string.IsNullOrEmpty(_importJobInfo.StatusMessage)
                                   ? _importJobInfo.StatusMessage
                                   : "Job is running";
                StatusImage = "/Polaris;component/Resources/hourglass_go.png";
            }
            if (_importJobInfo.JobCompletedOk)
            {
                ProgressText = "Job completed successfully";
                StatusImage  = "/Polaris;component/Resources/tick.png";
            }
            else if (_importJobInfo.JobCompletedWithErrors)
            {
                ProgressText = string.IsNullOrEmpty(_importJobInfo.StatusMessage)
                                   ? "Import job failed. No further details provided by the server."
                                   : $"Import job failed. Server reports : '{_importJobInfo.ExtractJobErrorMessage(stopOnFirstDetailMessage: true)}'";
                StatusImage = "/Polaris;component/Resources/exclamation.png";
            }

            RaisePropertyChanged("StatusImage");
            RaisePropertyChanged("ProgressText");
        }
 public void CheckJobStatus()
 {
     try
     {
         var client = BrightstarService.GetClient(Store.Source.ConnectionString);
         _transactionJob = client.GetJobInfo(Store.Location, _transactionJob.JobId);
         if (_transactionJob.JobPending)
         {
             ProgressText = "Job is currently queued for processing.";
         }
         if (_transactionJob.JobStarted)
         {
             ProgressText = !String.IsNullOrEmpty(_transactionJob.StatusMessage)
                                ? _transactionJob.StatusMessage
                                : "Job is running";
         }
         if (_transactionJob.JobCompletedOk)
         {
             ProgressText = "Job completed successfully";
             Messenger.Default.Send(new ShowDialogMessage(
                                        Strings.ImportCompletedDialogTitle,
                                        String.Format(Strings.ImportCompletedDialogMsg, Store.Location),
                                        MessageBoxImage.Information, MessageBoxButton.OK), "MainWindow");
         }
         else if (_transactionJob.JobCompletedWithErrors)
         {
             ProgressText = String.IsNullOrEmpty(_transactionJob.StatusMessage)
                                ? "Import job failed. No further details provided by the server."
                                : String.Format("Import job failed. Server reports : '{0}'",
                                _transactionJob.ExtractJobErrorMessage(stopOnFirstDetailMessage:true));
             Messenger.Default.Send(new ShowDialogMessage(Strings.ImportFailedDialogTitle,
                                                          String.Format(Strings.ImportFailedDialogMsg,
                                                                        Store.Location),
                                                          MessageBoxImage.Error, MessageBoxButton.OK),
                                    "MainWindow");
         }
         else
         {
             _dispatcher.BeginInvoke(DispatcherPriority.SystemIdle,
                                     new TransactionViewModel.JobMonitorDelegate(this.CheckJobStatus));
         }
     } 
     catch(Exception)
     {
         ProgressText =
             "Error retrieving job status information from server. This may indicate a networking problem or that the server has stopped running.";
     }
 }
 public void CheckJobStatus()
 {
     var client = BrightstarService.GetClient(Store.Source.ConnectionString);
     _transactionJob = client.GetJobInfo(Store.Location, _transactionJob.JobId);
     if (_transactionJob.JobCompletedOk)
     {
         ValidationMessages.Clear();
         ValidationMessages.Add(Strings.TransactionSuccess);
     }
     else if (_transactionJob.JobCompletedWithErrors)
     {
         ValidationMessages.Clear();
         ValidationMessages.Add(Strings.TransactionFailed);
         ValidationMessages.Add(_transactionJob.ExtractJobErrorMessage(true));
         Messenger.Default.Send(
             new ShowDialogMessage("Transaction failed",
                                     "Transaction failed with status: " + _transactionJob.StatusMessage,
                                     MessageBoxImage.Error, MessageBoxButton.OK), "MainWindow");
     }
     else
     {
         _dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, new JobMonitorDelegate(this.CheckJobStatus));
     }
 }