Ejemplo n.º 1
0
 public void Open(string accessionNumber)
 {
     try
     {
         using (IViewerAutomationBridge bridge = CreateBridge())
         {
             var existingViewers = GetViewers(bridge, accessionNumber);
             if (existingViewers != null && existingViewers.Count > 0)
             {
                 bridge.ActivateViewer(existingViewers[0]);
             }
             else
             {
                 bridge.OpenStudiesByAccessionNumber(accessionNumber);
             }
         }
     }
     catch (QueryNoMatchesException e)
     {
         throw new QueryFailedException(String.Format("No studies with accession number {0} could be found.", accessionNumber), e);
     }
     catch (FaultException <QueryFailedFault> e)
     {
         throw new QueryFailedException(String.Format("Query failed for studies matching accession number {0}.", accessionNumber), e);
     }
     catch (FaultException <StudyNotFoundFault> e) { throw new OpenStudyException(accessionNumber, e); }
     catch (FaultException <StudyOfflineFault> e) { throw new OpenStudyException(accessionNumber, e); }
     catch (FaultException <StudyNearlineFault> e) { throw new OpenStudyException(accessionNumber, e); }
     catch (FaultException <StudyInUseFault> e) { throw new OpenStudyException(accessionNumber, e); }
     catch (FaultException <OpenStudiesFault> e) { throw new OpenStudyException(accessionNumber, e); }
 }
Ejemplo n.º 2
0
 private static IList <Viewer> GetViewers(IViewerAutomationBridge bridge, string accessionNumber)
 {
     try
     {
         return(bridge.GetViewersByAccessionNumber(accessionNumber));
     }
     catch (FaultException <NoViewersFault> )
     {
         // eat this exception, as it really just means that the user has closed all viewer workspaces
         return(new Viewer[0]);
     }
 }
Ejemplo n.º 3
0
 public void Close(string accessionNumber)
 {
     try
     {
         using (IViewerAutomationBridge bridge = CreateBridge())
         {
             foreach (Viewer viewer in bridge.GetViewersByAccessionNumber(accessionNumber))
             {
                 bridge.CloseViewer(viewer);
             }
         }
     }
     catch (FaultException <NoViewersFault> )
     {
         // eat this exception, as it really just means that the user has closed all viewer workspaces
     }
 }
Ejemplo n.º 4
0
		private static IList<Viewer> GetViewers(IViewerAutomationBridge bridge, string accessionNumber)
		{
			try
			{
				return bridge.GetViewersByAccessionNumber(accessionNumber);
			}
			catch (FaultException<NoViewersFault>)
			{
				// eat this exception, as it really just means that the user has closed all viewer workspaces
				return new Viewer[0];
			}
		}