コード例 #1
0
 //private NpgsqlTransaction _dbTransaction { get; set; }
 //public DataAccessManager(IDbConnection connection, IDbTransaction transaction)
 //{
 //    _dbConnection = new NpgsqlConnection(connection.ConnectionString);
 //    _dbTransaction = new Npgsql.NpgsqlTransaction();
 //}
 public PgDataAccess(DataAccessSettings configSettings)
 {
     _configSettings   = configSettings;
     _dbMainConnection = new NpgsqlConnection(configSettings.MainDbConnectionString);
     //_dbFileConnection = new NpgsqlConnection(configSettings.FileDbConnection);
     //_dbTransaction = null;
 }
コード例 #2
0
        /// <summary>
        /// adds/creates a connection element with the proper service name/product name and connection string
        /// </summary>
        /// <param name="dataAccessSettings"></param>
        /// <param name="productName"></param>
        /// <param name="serviceName"></param>
        /// <param name="connectionName"></param>
        private static void AddServiceToProduct(DataAccessSettings dataAccessSettings, string productName, string serviceName, string connectionName)
        {
            ConnectionElement connectionElement = null;

            if (dataAccessSettings != null)
            {
                int count = dataAccessSettings.Connections.Count;
                for (int i = 0; i < count; i++)
                {
                    if (dataAccessSettings.Connections[i].ProductName == productName)
                    {
                        connectionElement = dataAccessSettings.Connections[i];
                        connectionElement.ConnectionName = connectionName;
                        break;
                    }
                }
                if (connectionElement == null)
                {
                    connectionElement                = new ConnectionElement();
                    connectionElement.ProductName    = productName;
                    connectionElement.ServiceName    = serviceName;
                    connectionElement.ConnectionName = connectionName;
                    dataAccessSettings.Connections.Add(connectionElement);
                }
                else
                {
                    connectionElement.ServiceName = serviceName;
                }
            }
        }
コード例 #3
0
        public static bool IsDataAccessSettingsValid(string sectionName)
        {
            ConfigurationManager.RefreshSection(sectionName);

            try
            {
                DataAccessSettings section = ConfigurationManager.GetSection(sectionName) as DataAccessSettings;


                if (null != section)
                {
                    ConnectionStringSettings connectionSettings;


                    ConfigurationManager.RefreshSection("connectionStrings");
                    connectionSettings = ConfigurationManager.ConnectionStrings  [section.ConnectionName];

                    if (null != connectionSettings)
                    {
                        return(true);
                    }
                }
            }
            catch (Exception)
            {
                return(false);
            }

            return(false);
        }
コード例 #4
0
ファイル: DbInitializer.cs プロジェクト: etriks/ehs-server
 public DbInitializer(IServiceUoW uoW, IOptions <DataAccessSettings> settings)
 {
     _db             = uoW;
     _ConfigSettings = settings.Value;
     _JSONDir        = _ConfigSettings.DBinitDirectory;
     Directory.CreateDirectory(_JSONDir);
 }
コード例 #5
0
ファイル: DbInitializer.cs プロジェクト: etriks/ehs-server
 public DbInitializer(IServiceUoW uoW, IOptions <DataAccessSettings> settings)
 {
     _db = uoW;
     _desriptorRepository = uoW.GetRepository <DatasetTemplate, string>();
     _dictRepository      = uoW.GetRepository <Dictionary, string>();
     _ConfigSettings      = settings.Value;
     _JSONDir             = _ConfigSettings.DBinitDirectory;
     Directory.CreateDirectory(_JSONDir);
 }
コード例 #6
0
 public DataController(IConnectionManager connectionManager,
                       IQueryManager queryManager,
                       IConfigurationWriter configurationWriter,
                       IOptionsSnapshot <DataAccessSettings> options,
                       ILocalStorage localStorage)
 {
     this.queryManager        = queryManager;
     this.configurationWriter = configurationWriter;
     this.connectionManager   = connectionManager;
     this.settings            = options.Value;
     this.localStorage        = localStorage;
 }
コード例 #7
0
        /// <summary>
        /// configure a data access section to hold the correct connection string info/product name and service name
        /// if found then update otherwise create
        /// </summary>
        /// <param name="config"></param>
        /// <param name="sectionView"></param>
        /// <param name="connectionSettings"></param>
        /// <param name="productName"></param>
        /// <param name="serviceName"></param>
        private static void ConfigureSection
        (
            Configuration config,
            DataAccessConfigurationView sectionView,
            ConnectionStringSettings connectionSettings,
            string productName,
            string serviceName
        )
        {
            DataAccessSettings dataAccessSettings;


            ConfigurationManager.RefreshSection(sectionView.DataAccessSettingsSectionName);

            try
            {
                dataAccessSettings = config.Sections.OfType <DataAccessSettings>().FirstOrDefault(n => n.SectionInformation.Name == sectionView.DataAccessSettingsSectionName);
            }
            catch (Exception)
            {
                config.Sections.Remove(sectionView.DataAccessSettingsSectionName);
                dataAccessSettings = null;
            }

            bool newSection = false;

            if (null == dataAccessSettings)
            {
                dataAccessSettings = new DataAccessSettings();
                newSection         = true;
            }

            dataAccessSettings.ConnectionName = connectionSettings.Name;

            string defaultConnectionName = string.Empty;

            if (!string.IsNullOrEmpty(productName))
            {
                AddProduct(dataAccessSettings, productName, connectionSettings.Name);
            }

            if (!string.IsNullOrEmpty(serviceName))
            {
                AddServiceToProduct(dataAccessSettings, productName, serviceName, connectionSettings.Name);
            }

            if (newSection)
            {
                config.Sections.Add(sectionView.DataAccessSettingsSectionName, dataAccessSettings);
            }
        }
コード例 #8
0
        private ConnectionStringSettings GetConnectionString
        (
            System.Configuration.Configuration pacsConfig,
            System.Configuration.Configuration machineConfig,
            string dataAccessSectionName
        )
        {
            DataAccessSettings       settings = null;
            ConnectionStringSettings connectionStringSettings = null;

            try
            {
                settings = pacsConfig.GetSection(dataAccessSectionName) as DataAccessSettings;
                if (settings != null)
                {
                    bool   found = false;
                    string name  = string.Empty;
                    foreach (ConnectionElement connectionElement in settings.Connections)
                    {
                        if (connectionElement.ProductName == ProductName /*|| connectionElement.ServiceName == ServiceName*/)
                        {
                            name  = connectionElement.ConnectionName;
                            found = true;
                            break;
                        }
                    }

                    if (found && !string.IsNullOrEmpty(name))
                    {
                        ConnectionStringsSection connectionStringsSection = pacsConfig.ConnectionStrings;

                        connectionStringSettings = connectionStringsSection.ConnectionStrings[name];
                    }
                }
            }
            catch (Exception)
            {
                // return null;
            }

            if (connectionStringSettings == null)
            {
                connectionStringSettings = GetConnectionString(machineConfig, dataAccessSectionName);
            }
            return(connectionStringSettings);
        }
コード例 #9
0
        public static IServiceCollection AddDb(this IServiceCollection services, DataAccessSettings daSettings)
        {
            IDataAccessManager dataAccess;

            switch (daSettings.DatabaseProvider)
            {
            case "Postgresql":
                dataAccess = new PgDataAccess(daSettings);
                break;

            default:
                dataAccess = new PgDataAccess(daSettings);
                break;
            }

            services.AddSingleton(dataAccess);

            return(services);
        }
コード例 #10
0
ファイル: UserRepository.cs プロジェクト: krossa/RocheApp
 public UserRepository(DataAccessSettings settings)
 {
     _settings = settings;
 }
コード例 #11
0
 public Settings()
 {
     DataAccessSettings = new DataAccessSettings();
     StorageSettings    = new StorageSettings();
     AppSettings        = new AppSettings();
 }