Ejemplo n.º 1
0
        /// <summary>
        /// Configure the setting
        /// </summary>
        public void Configure(SanteDBConfiguration configuration, IDictionary <string, string> settings)
        {
            var configSection = configuration.GetSection <AdoPubSubConfigurationSection>();

            if (configSection == null)
            {
                configSection = new AdoPubSubConfigurationSection()
                {
                    ProviderType              = "Npgsql",
                    ReadonlyConnectionString  = "MAIN",
                    ReadWriteConnectionString = "MAIN"
                };
                configuration.AddSection(configSection);
            }

            if (settings.TryGetValue(ConnectionStringSetting, out string rwConnection))
            {
                configSection.ReadonlyConnectionString = configSection.ReadWriteConnectionString = rwConnection;
            }

            // Add service for persisting
            var serviceConfiguration = configuration.GetSection <ApplicationServiceContextConfigurationSection>().ServiceProviders;

            if (!serviceConfiguration.Any(s => s.Type == typeof(AdoPubSubManager)))
            {
                serviceConfiguration.Add(new TypeReferenceConfiguration(typeof(AdoPubSubManager)));
            }
            // Add broker
            if (!serviceConfiguration.Any(s => s.Type == typeof(PubSubBroker)))
            {
                serviceConfiguration.Add(new TypeReferenceConfiguration(typeof(PubSubBroker)));
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Creates a new instance of this pub-sub manager
 /// </summary>
 public AdoPubSubManager(IServiceManager serviceManager,
                         IPolicyEnforcementService policyEnforcementService,
                         IConfigurationManager configurationManager,
                         ISecurityRepositoryService securityRepository,
                         IDataCachingService cachingService)
 {
     this.m_cache                    = cachingService;
     this.m_configuration            = configurationManager.GetSection <AdoPubSubConfigurationSection>();
     this.m_policyEnforcementService = policyEnforcementService;
     this.m_securityRepository       = securityRepository;
     this.m_serviceManager           = serviceManager;
     this.m_configuration.Provider.UpgradeSchema("SanteDB.Persistence.PubSub.ADO");
 }