Example #1
0
        private static FullTextSearchSettings InitConnectionSettings(TextIndexCfgSectionHandler cfg)
        {
            var connectionString = ConfigurationManager.ConnectionStrings[cfg.ConnectionStringName];

            ConnectionStringName = cfg.ConnectionStringName;

            var settings = CoreContext.Configuration.GetSection <FullTextSearchSettings>(Tenant.DEFAULT_TENANT);

            if (connectionString == null)
            {
                if (settings == null)
                {
                    throw new Exception("connection string can not be empty");
                }

                DbRegistry.RegisterDatabase(ConnectionStringName,
                                            new ConnectionStringSettings
                {
                    Name             = cfg.ConnectionStringName,
                    ConnectionString = settings.ConnectionString,
                    ProviderName     = "MySql.Data.MySqlClient"
                });
            }
            else
            {
                var parsed = ParseConnectionString(connectionString.ConnectionString);
                settings = new FullTextSearchSettings
                {
                    Host = parsed.ContainsKey("Server") ? parsed["Server"] : "localhost",
                    Port = Convert.ToInt32(parsed.ContainsKey("Port") ? parsed["Port"] : "9306")
                };
                CoreContext.Configuration.SaveSection(Tenant.DEFAULT_TENANT, settings);
            }

            return(settings);
        }
Example #2
0
        private static FullTextSearchSettings InitConnectionSettings(TextIndexCfgSectionHandler cfg)
        {
            var connectionString = ConfigurationManager.ConnectionStrings[cfg.ConnectionStringName];
            ConnectionStringName = cfg.ConnectionStringName;

            var settings = CoreContext.Configuration.GetSection<FullTextSearchSettings>(Tenant.DEFAULT_TENANT);
            if (connectionString == null)
            {
                if (settings == null)
                    throw new Exception("connection string can not be empty");

                DbRegistry.RegisterDatabase(ConnectionStringName,
                    new ConnectionStringSettings
                        {
                            Name = cfg.ConnectionStringName,
                            ConnectionString = settings.ConnectionString,
                            ProviderName = "MySql.Data.MySqlClient"
                        });
            }
            else
            {
                var connectionStringParts = ParseConnectionString(connectionString.ConnectionString);
                settings = new FullTextSearchSettings
                {
                    Host = connectionStringParts["Server"],
                    Port = Convert.ToInt32(connectionStringParts["Port"]) 
                };
                CoreContext.Configuration.SaveSection(Tenant.DEFAULT_TENANT, settings);
            }

            return settings;
        }