Ejemplo n.º 1
0
        public DbServer(string tenant)
        {
            this.Tenant = tenant;

            string provider = DbProvider.GetProviderName(tenant);

            if (provider.ToUpperInvariant().Equals("NPGSQL"))
            {
                var config = PostgreSQLConfig.Get();

                this.ProviderName            = provider;
                this.BinDirectory            = config.PostgreSQLBinDirectory;
                this.DatabaseBackupDirectory = config.DatabaseBackupDirectory;
                this.HostName   = config.Server;
                this.PortNumber = config.Port ?? 5432;
                this.UserId     = config.UserId;
                this.Password   = config.Password;
            }

            if (provider.ToUpperInvariant().Equals("SYSTEM.DATA.SQLCLIENT"))
            {
                var config = SqlServerConfig.Get();

                this.ProviderName            = provider;
                this.DatabaseBackupDirectory = config.DatabaseBackupDirectory;
                this.HostName   = config.Server;
                this.PortNumber = config.Port ?? 0;
                this.UserId     = config.UserId;
                this.Password   = config.Password;
            }


            this.Validate();
        }
Ejemplo n.º 2
0
        public static string GetMetaDatabase(string tenant)
        {
            if (string.IsNullOrWhiteSpace(tenant))
            {
                return(string.Empty);
            }

            string provider = GetProviderName(tenant);
            string meta     = string.Empty;

            if (provider.ToUpperInvariant().Equals("NPGSQL"))
            {
                var config = PostgreSQLConfig.Get();
                meta = config.MetaDatabase;

                if (string.IsNullOrWhiteSpace(meta))
                {
                    meta = "postgres";
                }
            }

            if (provider.ToUpperInvariant().Equals("SYSTEM.DATA.SQLCLIENT"))
            {
                var config = SqlServerConfig.Get();
                meta = config.MetaDatabase;

                if (string.IsNullOrWhiteSpace(meta))
                {
                    meta = "master";
                }
            }

            return(meta);
        }
Ejemplo n.º 3
0
        public string GetSuperUserConnectionString(string tenant, string database = "")
        {
            var config = PostgreSQLConfig.Get();

            var builder = new NpgsqlConnectionStringBuilder
            {
                Host                   = config.Server,
                Port                   = config.Port ?? 5432,
                Database               = database,
                Pooling                = config.EnablePooling ?? true,
                MinPoolSize            = config.MinPoolSize ?? 1,
                MaxPoolSize            = config.MaxPoolSize ?? 100,
                ApplicationName        = "Frapid",
                CommandTimeout         = config.Timeout ?? 120,
                InternalCommandTimeout = config.Timeout ?? 120
            };

            if (config.TrustedSuperUserConnection.To(false))
            {
                builder.IntegratedSecurity = true;
            }
            else
            {
                builder.Username = config.SuperUserId;
                builder.Password = config.SuperUserPassword;
            }

            return(builder.ConnectionString);
        }
Ejemplo n.º 4
0
        public string GetConnectionString(string tenant, string database = "", string userId = "", string password = "")
        {
            var config = PostgreSQLConfig.Get();

            if (string.IsNullOrWhiteSpace(userId))
            {
                userId = config.UserId;
            }

            if (string.IsNullOrWhiteSpace(password))
            {
                password = config.Password;
            }


            return(this.GetConnectionString(tenant, config.Server, database, userId, password, config.Port ?? 5432, config.EnablePooling ?? true, config.MinPoolSize ?? 1, config.MaxPoolSize ?? 100));
        }
Ejemplo n.º 5
0
        public string GetMetaConnectionString(string tenant)
        {
            var config = PostgreSQLConfig.Get();

            return(this.GetConnectionString(tenant, config.MetaDatabase));
        }
Ejemplo n.º 6
0
        public string GetReportUserConnectionString(string tenant, string database = "")
        {
            var config = PostgreSQLConfig.Get();

            return(this.GetConnectionString(tenant, database, config.ReportUserId, config.ReportUserPassword));
        }