コード例 #1
0
		private void RetrieveStudy()
		{
			if (!Enabled || Context.SelectedServers.IsLocalServer || Context.SelectedStudy == null)
				return;

			try
			{
				var client = new DicomRetrieveBridge();
				if (Context.SelectedStudies.Count > 1)
				{
					var count = ProcessItemsAsync(Context.SelectedStudies, study => client.RetrieveStudy(study.Server, study), false);
					AlertMultipleStudiesRetrieved(count);
				}
				else if (Context.SelectedStudies.Count == 1)
				{
					var study = Context.SelectedStudies.First();
					client.RetrieveStudy(study.Server, study);
					AlertStudyRetrieved(study);
				}
			}
			catch (EndpointNotFoundException)
			{
				Context.DesktopWindow.ShowMessageBox(SR.MessageRetrieveDicomServerServiceNotRunning, MessageBoxActions.Ok);
			}
			catch (Exception e)
			{
				ExceptionHandler.Report(e, SR.MessageErrorRetrievingStudies, Context.DesktopWindow);
			}
		}
コード例 #2
0
ファイル: RetrieveSeriesTool.cs プロジェクト: nhannd/Xian
		public void RetrieveSeries()
		{
			if (!Enabled || SelectedSeries.Count == 0)
				return;

		    var client = new DicomRetrieveBridge();
            var seriesUids = Context.SelectedSeries.Select(item => item.SeriesInstanceUid).ToList();
		 
			try
			{
                client.RetrieveSeries(Server, Context.Study, seriesUids.ToArray());

                DateTime? studyDate = DateParser.Parse(Context.Study.StudyDate);
                Context.DesktopWindow.ShowAlert(AlertLevel.Info,
                                string.Format(SR.MessageFormatRetrieveSeriesScheduled, seriesUids.Count,
                                              Server.Name, Context.Study.PatientsName.FormattedName, studyDate.HasValue ? Format.Date(studyDate.Value) : string.Empty,
                                              Context.Study.AccessionNumber),
                                SR.LinkOpenActivityMonitor, ActivityMonitorManager.Show, true);
                  
			}
			catch (EndpointNotFoundException)
			{
			    Context.DesktopWindow.ShowMessageBox(SR.MessageRetrieveDicomServerServiceNotRunning, MessageBoxActions.Ok);
			}
			catch (Exception ex)
			{
			    ExceptionHandler.Report(ex, SR.MessageFailedToRetrieveSeries, Context.DesktopWindow);
			}

			//TODO (CR Sept 2010): put a Close method on the context, or put a property on SeriesDetailsTool
			//that somehow allows a tool to flag that when it is clicked, the component should close.
			//if (result == EventResult.Success)
			//	SeriesDetailsComponent.Close();
            
		}