/// <summary>
        /// UnityContainerに直接設定したい場合。
        /// 名前付きの登録など。ConfigureServicesメソッドの後に呼ばれる。
        /// </summary>
        /// <param name="container"></param>
        public static IUnityContainer ConfigureContainer(IUnityContainer container, IConfiguration configuration)
        {
            //UnityContainer container = new UnityContainer();
            //新DBへの接続設定。デフォルト。名前指定しなければこればバインドされる。
            string connectionString = configuration.GetConnectionString("DB");

            container.RegisterFactory <CustomProfiledDbConnection>(scope =>
            {
                var baseConnection    = new SqlConnection(connectionString);
                var profiler          = scope.Resolve <TraceDbProfiler>(); //発行SQLをログに書き出すため、作成したコネクションをProfiledDbConnectionでラップする。
                var wrapperConnection = new CustomProfiledDbConnection(baseConnection, profiler);

                return(wrapperConnection);
            }, new HierarchicalLifetimeManager());

            //既存DBへの接続設定
            string evConnectionString = configuration.GetConnectionString("DB_EV");

            container.RegisterFactory <CustomProfiledDbConnection>(ConstDb.ConnectionStringName_KizonDB, scope =>
            {
                var baseConnection    = new SqlConnection(evConnectionString);
                var profiler          = scope.Resolve <TraceDbProfiler>(); //発行SQLをログに書き出すため、作成したコネクションをProfiledDbConnectionでラップする。
                var wrapperConnection = new CustomProfiledDbConnection(baseConnection, profiler);

                return(wrapperConnection);
            }, new HierarchicalLifetimeManager());

            return(container);
        }
Пример #2
0
        public void ReadConfig()
        {
            //各テストの実行前に呼ばれる処理
            var config = new ConfigurationBuilder()
                         .AddJsonFile("appsettings.Development.json")
                         .Build();

            string envDB = Environment.GetEnvironmentVariable("ConnectionStrings__DB");

            this.connectionString = !string.IsNullOrEmpty(envDB) ? envDB : config.GetConnectionString("DB");
            this.Connection       = new CustomProfiledDbConnection(new SqlConnection(connectionString), new TraceDbProfiler(new MockLogger <TraceDbProfiler>()));

            Console.WriteLine($"接続文字列【{connectionString}】");

            var repository = new UserMainteRepository(this.Connection);

            this.service       = new UserMainteService();
            service.repository = repository;

            //登録後の確認用に利用
            loginService = new LoginService()
            {
                repository = new LoginRepository(Connection)
            };

            ClearDatabase();
            InsertMasterData();
            InsertTranData();
        }
Пример #3
0
        public void ReadConfig()
        {
            //各テストの実行前に呼ばれる処理
            var config = new ConfigurationBuilder()
                         .AddJsonFile("appsettings.IntegrationTest.json")
                         .Build();

            string envDB = Environment.GetEnvironmentVariable("ConnectionStrings__DB");

            this.connectionString = !string.IsNullOrEmpty(envDB) ? envDB : config.GetConnectionString("DB");
            this.Connection       = new CustomProfiledDbConnection(new SqlConnection(connectionString), new TraceDbProfiler(new MockLogger <TraceDbProfiler>()));

            Console.WriteLine($"接続文字列【{connectionString}】");

            var repository = new LoginRepository(this.Connection);

            this.service       = new LoginService();
            service.repository = repository;
        }
Пример #4
0
 /// <summary>
 /// コンストラクタ。
 /// </summary>
 /// <param name="connection">IDbConnectionを外部から渡したい場合に使用。</param>
 public UserMainteRepository(CustomProfiledDbConnection connection)
     : base(connection)
 {
 }
 /// <summary>
 /// コンストラクタ。
 /// </summary>
 /// <param name="connection">IDbConnectionを外部から渡したい場合に使用。</param>
 public ApplicationRepository(CustomProfiledDbConnection connection)
     : base(connection)
 {
 }
 /// <summary>
 /// コンストラクタ。
 /// </summary>
 /// <param name="connection">IDbConnectionを外部から渡したい場合に使用。</param>
 public BusinessCodeMainteRepository(CustomProfiledDbConnection connection)
     : base(connection)
 {
 }
Пример #7
0
 /// <summary>
 /// コンストラクタ。
 /// </summary>
 /// <param name="connection">IDbConnectionを外部から渡したい場合に使用。</param>
 public LoginRepository(CustomProfiledDbConnection connection)
     : base(connection)
 {
 }
Пример #8
0
 /// <summary>
 /// コンストラクタ。
 /// </summary>
 /// <param name="connection">IDbConnectionを外部から渡したい場合に使用。</param>
 public CommonRepository(CustomProfiledDbConnection connection)
 {
     _connection = connection;
 }