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)); } }
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)); } }