void AddServerToolStripButton_Click ( object sender, EventArgs e )
            {
               try
               {
                  EditServiceDialog dialog ;


                  dialog = new EditServiceDialog ( ) ;
                  
                  dialog.Settings    = GetSettings ( ) ;
                  dialog.ServiceName = ServiceManager.ServiceName ;
                  dialog.Mode        = EditServiceDialog.EditMode.AddServer ;
                  
                  if  ( dialog.ShowDialog(this) == DialogResult.OK )
                  {
                     try
                     {
                        WorkstationService = ServiceManager.InstallWorkstationService ( dialog.Settings, 
                                                                                        WorkstationAddInsDll.ToArray ( ) ) ;

                        if ( null != WorkstationService ) 
                        {
                           OnWorkstationServiceCreated ( this, new WorkstationServiceEventArgs ( ServiceManager.ServiceName, WorkstationService ) ) ;
                        }
                     }
                     catch (Exception ex)
                     {
                        ThreadSafeMessager.ShowError (  ex.Message );
                     }
                  }
               }
               catch ( Exception exception ) 
               {
                  System.Diagnostics.Debug.Assert ( false, exception.Message ) ;
                                 
                  ThreadSafeMessager.ShowError (  exception.Message ) ;
               }
            }
            private void toolStripButtonDeleteAeTitle_Click ( object sender, EventArgs e )
            {
               try
               {
                  AeInfo info  ;
                  
                  
                  if ( AeTitlesListView.SelectedItems.Count == 0 )
                  {
                     return ;
                  }
                  
                  info = AeTitlesListView.SelectedItems [ 0 ].Tag as AeInfo;

                  WorkstationService.SendMessage(MessageNames.RemoveAeTitle, info.AETitle);
               }
               catch ( Exception exception )
               {
                  System.Diagnostics.Debug.Assert ( false, exception.Message ) ;
                                 
                  ThreadSafeMessager.ShowError (  "Error sending message.\n" + exception.Message ) ;
               }
            }
Exemple #3
0
 public void ReportServerVerificationFailure(string errorMessage)
 {
     ThreadSafeMessager.ShowWarning(errorMessage);
 }
Exemple #4
0
 public void ReportServerVerificationSuccess( )
 {
     ThreadSafeMessager.ShowInformation("Connection succeeded");
 }
Exemple #5
0
 public void ReportMediaCreationSuccess( )
 {
     ThreadSafeMessager.ShowInformation("Media request sent successfully.");
 }
Exemple #6
0
 public void ReportMediaCreationFailure(string error)
 {
     ThreadSafeMessager.ShowError(error);
 }
        void __SearchStudies_StoreSeries(object sender, StoreSeriesEventArgs e)
        {
            try
            {
                PopulateState(e.Study, e.Series);

                if (!__QueueManager.Visible)
                {
                    __QueueManager.Show(View.DisplayContainer);
                }

                DicomScp scp;
                string   patientID;
                string   description;
                IStorageDataAccessAgent dataAccess;
                Compression             compression;
                StoreQueueItemCommand   storeCommand;

                if (!ConfigurationData.Compression.Enable)
                {
                    compression = Leadtools.Dicom.Scu.Common.Compression.Native;
                }
                else
                {
                    compression = (ConfigurationData.Compression.Lossy) ? Leadtools.Dicom.Scu.Common.Compression.Lossy : Leadtools.Dicom.Scu.Common.Compression.Lossless;
                }

                scp = new Leadtools.Dicom.Scu.DicomScp( );

                scp.AETitle     = e.Server.AETitle;
                scp.PeerAddress = Utils.ResolveIPAddress(e.Server.Address);
                scp.Port        = e.Server.Port;
                scp.Timeout     = e.Server.Timeout;

                patientID = e.Study.IsPatientIDNull( ) ? string.Empty : e.Study.PatientID;

                description = string.Format(SeriesInfo,
                                            e.Study.IsPatientNameNull( ) ? string.Empty : e.Study.PatientName,
                                            patientID,
                                            e.Series.IsSeriesNumberNull( ) ? string.Empty : e.Series.SeriesNumber,
                                            e.Series.IsModalityNull( ) ? string.Empty : e.Series.Modality);

                dataAccess = DataAccessServices.GetDataAccessService <IStorageDataAccessAgent> ( );

                if (null == dataAccess)
                {
                    throw new InvalidOperationException("Storage Service is not registered.");
                }

                StoreClient client = new StoreClient(ConfigurationData.WorkstationClient.ToAeInfo( ),
                                                     scp,
                                                     compression,
                                                     dataAccess);


                storeCommand = new StoreQueueItemCommand(new SeriesInformation(patientID, e.Study.StudyInstanceUID, e.Series.SeriesInstanceUID, description), client);

                QueueManager.Instance.AddCommand(storeCommand);
            }
            catch (Exception exception)
            {
                ThreadSafeMessager.ShowError(exception.Message);
            }
        }
            void __LEADWorkstationService_Message 
            ( 
               object sender, 
               MessageEventArgs e 
            )
            {
               try
               {
                  ServiceMessage message ;
                  
                  
                  if ( WorkstationService != ( sender as DicomService ) )
                  {
                     return ;
                  }
                  
                  message = AddInUtils.Clone <ServiceMessage> ( e.Message ) ;

                  switch ( message.Message )
                  {
                     case MessageNames.AddAeTitle:
                     {
                        
                        if ( message.Success )
                        {
                           AddAe ( message.Data [ 0 ] as AeInfo ) ; 
                        }
                        else
                        {
                           ThreadSafeMessager.ShowError ( 
                                                          "Error Adding AE Title.\n" + message.Error ) ;
                        }
                     }
                     break;
                     
                     case MessageNames.GetAeTitles:
                     {
                        if ( message.Success )
                        {
                           LoadAes ( message.Data [ 0 ] as List <AeInfo> ) ;
                        }
                        else
                        {
                           ThreadSafeMessager.ShowError ( 
                                                          "Error Getting AE Titles.\n" +  message.Error ) ;
                        }
                     }
                     break ;
                     
                     case MessageNames.UpdateAeTitle:
                     {
                        if ( !message.Success )
                        {
                            ThreadSafeMessager.ShowError ( 
                                                           "Error Updating AE Title.\n" + message.Error ) ;
                            
                            UpdateAe ( message.Data [ 0 ] as string, 
                                       message.Data [ 1 ] as AeInfo, 
                                       true ) ;
                        }
                        else
                        {
                           UpdateAe ( message.Data [ 0 ] as string, 
                                      message.Data [ 1 ] as AeInfo, 
                                      false ) ;
                        }
                     }
                     break ;
                     
                     case MessageNames.RemoveAeTitle:
                     {
                        if (!message.Success)
                        {
                           ThreadSafeMessager.ShowError ( 
                                                          "Error Removing AE Title\n" + message.Error ) ;
                        }
                        else
                        {
                           RemoveAe ( message.Data [ 0] as string ) ;
                        }
                     }
                     break ;
                  }
               }
               catch ( Exception exception )
               {
                  System.Diagnostics.Debug.Assert ( false, exception.Message ) ;
                                 
                  throw ;
               }
            }