public static void ExternalStoreSettingsChanged() { DicomUtilities.DebugString(DebugStringOptions.ShowCounter, "Azure Module.ExternalStoreSettingsChanged()"); Settings.RefreshSettings(); Type[] extraTypes = new Type[] { typeof(AzureConfiguration) }; Options = Settings.GetAddInCustomData <ExternalStoreOptions>(ExternalStorePresenter._Name, "ExternalStoreOptions", extraTypes); ExternalStorePresenter.MyDumpExternalStoreOptions("Azure ExternalStoreSettingsChanged() -- options about to be saved", Options); ExternalStore.Addin.Module.StartExternalStoreJobs(AzureExternalStoreAddinConfig, "Azure"); }
public static void StartExternalStoreJobs(ExternalStoreAddinConfigAbstract addinExternalStoreAddinConfig, string addinFriendlyName) { ExternalStoreItem item = null; if (Options != null) { item = Options.GetCurrentOption(); } if ((item != null) && (addinExternalStoreAddinConfig != null) && (item.ExternalStoreAddinConfig.Equals(addinExternalStoreAddinConfig))) { ICrud crud = item.ExternalStoreAddinConfig.GetCrudInterface(); crud.Initialize(); DataAccessServiceLocator.Register <ICrud>(crud); DataAccessServiceLocator.Register <ICrud>(crud, crud.ExternalStoreGuid); StorageConfigManager = new StorageModuleConfigurationManager(true); StorageConfigManager.Load(ServiceDirectory); System.Configuration.Configuration configuration = DicomDemoSettingsManager.GetGlobalPacsAddinsConfiguration(_serviceDirectory); IExternalStoreDataAccessAgent externalStoreAgent; if (!DataAccessServices.IsDataAccessServiceRegistered <IExternalStoreDataAccessAgent>()) { externalStoreAgent = DataAccessFactory.GetInstance(new ExternalStoreDataAccessConfigurationView(configuration, null, _displayName)).CreateDataAccessAgent <IExternalStoreDataAccessAgent>(); DataAccessServices.RegisterDataAccessService <IExternalStoreDataAccessAgent>(externalStoreAgent); } else { externalStoreAgent = DataAccessServices.GetDataAccessService <IExternalStoreDataAccessAgent>(); } IStorageDataAccessAgent storageAgent; if (!DataAccessServices.IsDataAccessServiceRegistered <IStorageDataAccessAgent>()) { storageAgent = DataAccessFactory.GetInstance(new StorageDataAccessConfigurationView(configuration, null, _displayName)).CreateDataAccessAgent <IStorageDataAccessAgent>(); DataAccessServices.RegisterDataAccessService <IStorageDataAccessAgent>(storageAgent); } else { storageAgent = DataAccessServices.GetDataAccessService <IStorageDataAccessAgent>(); } string sDebug = string.Format("{0}: Module.StartOrStopAddin() -- new JobManager()", addinFriendlyName); ExternalStorePresenter.MyDumpExternalStoreOptions(sDebug, Options); JobManager = new JobManager(Options, externalStoreAgent, storageAgent, ServiceName, StorageConfigManager.GetStorageAddInsSettings()); JobManager.ExternalStoreGuid = item.ExternalStoreAddinConfig.Guid; if (IsLicenseValid()) { sDebug = string.Format("{0}: Module.StartOrStopAddin() -- JobManager.Start", addinFriendlyName); DicomUtilities.DebugString(DebugStringOptions.ShowCounter, sDebug); JobManager.Start(); } } }
public override void Load(string serviceDirectory, string displayName) { string msg = string.Format("serviceDirectory:{0} displayName:{1}", serviceDirectory, displayName); DicomUtilities.DebugString(DebugStringOptions.ShowCounter, "Module.Load() -- JobManager.Start" + msg); AdvancedSettings settings = AdvancedSettings.Open(serviceDirectory); _serviceDirectory = serviceDirectory; DicomServer server = ServiceLocator.Retrieve <DicomServer>(); ServiceName = server.Name; try { Type[] extraTypes = new Type[] { typeof(AzureConfiguration) }; Options = settings.GetAddInCustomData <ExternalStoreOptions>(ExternalStorePresenter._Name, "ExternalStoreOptions", extraTypes); ExternalStorePresenter.MyDumpExternalStoreOptions("Module.Load() -- settings.GetAddInCustomData()", Options); if (Options == null) { Options = new ExternalStoreOptions(); } ICrud thisCrud = Options.GetCrud(AzureGuid); if (thisCrud != null) { DataAccessServiceLocator.Register <ICrud>(thisCrud, thisCrud.ExternalStoreGuid); } } catch (Exception e) { DicomUtilities.DebugString(DebugStringOptions.ShowCounter, "*** Exception: Module.Load() settings.GetAddInCustomData" + e.Message); if (Options == null) { Options = new ExternalStoreOptions(); } Logger.Global.Error(Source, e.Message); } ExternalStore.Addin.Module.StartExternalStoreJobs(AzureExternalStoreAddinConfig, "Azure"); }
public static void StopExternalStoreJobs() { if (JobManager != null) { string sDebug = string.Format("Module.StopExternalStoreJobs -- JobManager.Stop"); DicomUtilities.DebugString(DebugStringOptions.ShowCounter, sDebug); JobManager.Stop(); } // No cloud storage Settings.RefreshSettings(); Options = Settings.GetAddInCustomData <ExternalStoreOptions>(ExternalStorePresenter._Name, "ExternalStoreOptions", null); string s = string.Format("{0}: Module.StopExternalStoreJobs()", ExternalStorePresenter._Name); ExternalStorePresenter.MyDumpExternalStoreOptions(s, Options); if (Options.ExternalStoreIndex == -1) { DataAccessServiceLocator.Register <ICrud>(new DefaultCrud()); } }