예제 #1
0
        public void Configure
        (
            IWin32Window Parent,
            ServerSettings Settings,
            string ServerDirectory
        )
        {
            using (LoggingModuleConfigurationManager configManager = new LoggingModuleConfigurationManager(false))
            {
                configManager.Load(ServerDirectory);

                LoggingState state = configManager.GetLoggingState( );

                EventLogOptions mainLoggingUI = new EventLogOptions( );

                EventLogConfigurationPresenter presenter = new EventLogConfigurationPresenter( );

                presenter.RunView(mainLoggingUI.EventLogConfigurationView, state);

                if (mainLoggingUI.ShowDialog( ) == DialogResult.OK)
                {
                    presenter.UpdateState( );

                    configManager.SetLoggingState(state);

                    configManager.Save( );
                }
                else
                {
                    presenter.ResetView( );
                }
            }
        }
예제 #2
0
        internal static void SaveLoggingState( )
        {
            LoggingModuleConfigurationManager loggingConfigManager = ServiceLocator.Retrieve <LoggingModuleConfigurationManager> ( );

            if (loggingConfigManager.IsLoaded)
            {
                loggingConfigManager.SetLoggingState(ServerState.Instance.LoggingState);

                loggingConfigManager.Save( );
            }
        }
예제 #3
0
        private static void LoadLoggingState(DicomService service)
        {
            LoggingModuleConfigurationManager loggingConfigManager = ServiceLocator.Retrieve <LoggingModuleConfigurationManager> ( );

            if (service != null && loggingConfigManager.IsLoaded)
            {
                ServerState.Instance.LoggingState = loggingConfigManager.GetLoggingState( );
            }
            else
            {
                ServerState.Instance.LoggingState = GetDefaultLoggingState( );
            }
        }
예제 #4
0
        private void CreateConfigurationServices(DicomService service)
        {
            StorageModuleConfigurationManager storageConfigMnager  = new StorageModuleConfigurationManager(false);
            LoggingModuleConfigurationManager loggingConfigManager = new LoggingModuleConfigurationManager(false);

            if (null != service)
            {
                storageConfigMnager.Load(service.ServiceDirectory);
                loggingConfigManager.Load(service.ServiceDirectory);
            }

            ServiceLocator.Register <StorageModuleConfigurationManager> (storageConfigMnager);
            ServiceLocator.Register <LoggingModuleConfigurationManager> (loggingConfigManager);
        }
예제 #5
0
        void View_DeleteServer(object sender, EventArgs e)
        {
            if (null != ServerState.Instance.ServerService)
            {
                using (ConfirmWithReasonDialog confirmDlg = new ConfirmWithReasonDialog())
                {
                    confirmDlg.Text = "Confirm Delete";

                    confirmDlg.Message = string.Format("Are you sure you want to delete {0}?\n\nType the reason for deleting {0}.", ServerState.Instance.ServerService.Settings.AETitle);

                    confirmDlg.ConfirmIcon = Resources.Warning_128;

                    confirmDlg.ConfirmCheckBoxVisible = false;

                    if (confirmDlg.ShowDialog(View) != DialogResult.OK)
                    {
                        return;
                    }


                    string serviceName    = ServerState.Instance.ServerService.ServiceName;
                    string additionalInfo = string.Format("\n\nReason for deleting: {0}", confirmDlg.Reason);

                    GlobalPacsUpdater.ModifyGlobalPacsConfiguration(DicomDemoSettingsManager.ProductNameStorageServer, serviceName, GlobalPacsUpdater.ModifyConfigurationType.Remove);

#if (LEADTOOLS_V19_OR_LATER_MEDICAL_VERIFY_ADDINS) || (LEADTOOLS_V19_OR_LATER)
                    ServerState.Instance.ServerService.Message -= new EventHandler <MessageEventArgs>(Shell.ServerService_Message);
#endif
                    ServerState.Instance.ServiceAdmin.UnInstallService(ServerState.Instance.ServerService);

                    ServerState.Instance.ServerService.Dispose();

                    StorageModuleConfigurationManager sotrageConfigManager = ServiceLocator.Retrieve <StorageModuleConfigurationManager>();
                    LoggingModuleConfigurationManager loggingConfigManager = ServiceLocator.Retrieve <LoggingModuleConfigurationManager>();

                    sotrageConfigManager.Unload();
                    loggingConfigManager.Unload();

                    ServerState.Instance.ServerService = null;

                    LocalAuditLogQueue.AddAuditMessage(AuditMessages.ServerServiceDeleted.Key,
                                                       string.Format(AuditMessages.ServerServiceDeleted.Message, serviceName) + additionalInfo);
                }
            }
        }
예제 #6
0
        void View_AddServer(object sender, EventArgs e)
        {
            ServerSettings settings;
            DicomService   service;

            if (null == ServerState.Instance.ServiceAdmin)
            {
                CreateServiceAdmin(ServerState.Instance.ServiceName);
            }

            settings = new ServerSettings( );

            UpdateServerSettings(settings);

            string[] addIns = GetAddIns();
            //string [] addIns =  new string [] {
            //   "Leadtools.Medical.AutoCopy.AddIn.dll",
            //   "Leadtools.Medical.PatientUpdater.AddIn.dll",
            //   "Leadtools.Medical.Storage.Addins.dll",
            //   "Leadtools.Medical.Forwarder.AddIn.dll",
            //};

            string[] configurationAddIns = GetConfigurationAddIns();
            //string[] configurationAddIns = new string[] {
            //   "Leadtools.Medical.Ae.Configuration.dll",
            //   "Leadtools.Medical.Logging.Addin.dll",
            //   "Leadtools.Medical.License.Configuration.dll",
            //};

            InstallAddIns(addIns, configurationAddIns, settings.AETitle);

            // Delete the advanced.config if it exsists
            // It might be left over from a previous uninstall
            string configLocation = Path.Combine(Path.Combine(ServerState.Instance.ServiceAdmin.BaseDirectory, settings.AETitle), "advanced.config");

            try
            {
                if (File.Exists(configLocation))
                {
                    File.Delete(configLocation);
                }
            }
            catch (Exception)
            {
            }

            service = ServerState.Instance.ServiceAdmin.InstallService(settings);

            StorageModuleConfigurationManager sotrageConfigManager = ServiceLocator.Retrieve <StorageModuleConfigurationManager> ( );
            LoggingModuleConfigurationManager loggingConfigManager = ServiceLocator.Retrieve <LoggingModuleConfigurationManager> ( );

            sotrageConfigManager.Load(service.ServiceDirectory);
            loggingConfigManager.Load(service.ServiceDirectory);

            ServerState.Instance.ServerService = service;

#if (LEADTOOLS_V19_OR_LATER_MEDICAL_VERIFY_ADDINS) || (LEADTOOLS_V19_OR_LATER)
            ServerState.Instance.ServerService.Message += new EventHandler <MessageEventArgs>(Shell.ServerService_Message);
#endif
            InitializeStorageAddinsSettings();

            AddConfigAssemblies(service.ServiceDirectory, "Leadtools.Medical.Logging.Addin.dll");
            GlobalPacsUpdater.ModifyGlobalPacsConfiguration(DicomDemoSettingsManager.ProductNameStorageServer, settings.AETitle, GlobalPacsUpdater.ModifyConfigurationType.Add);

            LocalAuditLogQueue.AddAuditMessage(AuditMessages.ServerServiceCreated.Key,
                                               string.Format(AuditMessages.ServerServiceCreated.Message, service.ServiceName, service.Settings.AETitle, service.Settings.IpAddress, service.Settings.Port));
        }