public static void ConfigurarProviderBanco(this ContainerBuilder builder, AppSettings appSettings)
        {
            DapperExtensions.DapperExtensions.ClearCache();
            DapperExtensions.Sql.ISqlDialect sqlDialect = GetDialeto();

            DapperExtensions.IDapperExtensionsConfiguration config = new DapperExtensions.DapperExtensionsConfiguration(
                typeof(AutoClassMapper <>),
                new[]
            {
                typeof(Data.DBModel.ModuloProduto).Assembly,
            },
                GetDialeto()
                );
            DapperExtensions.DapperExtensions.Configure(config);

            SqlMapper.RemoveTypeMap(typeof(bool));
            SqlMapper.AddTypeHandler(typeof(bool), new BoolSqlMapper());

            builder.Register <DapperExtensions.Sql.ISqlGenerator>(a => new DapperExtensions.Sql.SqlGeneratorImpl(config));

            builder.Register <IDbProvider>(ctx => new DefaultPostgresqlDbProvider(appSettings.DBProviderFactory)).AsImplementedInterfaces().SingleInstance();
            //Conexão com banco
            builder.Register <IDbConnectionFactory>(ctx => new DefaultConnectionFactory(ctx.Resolve <IDbProvider>(), appSettings.ConnectionString)).AsImplementedInterfaces();

            builder.Register <IDbContextFactory>(ctx => new DefaultContextFactory <DefaultDbContext>(ctx.Resolve <IServiceProvider>(), ctx.Resolve <IDbConnectionFactory>())).AsImplementedInterfaces();
        }
Example #2
0
        public void ConfigurarProviderBanco(ContainerBuilder builder)
        {
            DapperExtensions.DapperExtensions.ClearCache();
            DapperExtensions.Sql.ISqlDialect sqlDialect = GetDialeto();

            DapperExtensions.IDapperExtensionsConfiguration config = new DapperExtensions.DapperExtensionsConfiguration(
                typeof(AutoClassMapper <>),
                new[]
            {
                typeof(ModuloClassMapper).Assembly,
            },
                GetDialeto()
                );
            DapperExtensions.DapperExtensions.Configure(config);

            SqlMapper.RemoveTypeMap(typeof(bool));
            SqlMapper.AddTypeHandler(typeof(bool), new BoolSqlMapper());

            builder.Register <DapperExtensions.Sql.ISqlGenerator>(a => new DapperExtensions.Sql.SqlGeneratorImpl(config));

            builder.Register <IDbProvider>(ctx => new DefaultPostgresqlDbProvider("Npgsql")).AsImplementedInterfaces().SingleInstance();
            //Conexão com banco
            builder.Register <IDbConnectionFactory>(ctx => new DefaultConnectionFactory(ctx.Resolve <IDbProvider>(), "host=localhost;port=1234;database=Eshopping;user id=postgres;password=1234;")).AsImplementedInterfaces();

            builder.Register <IDbContextFactory>(ctx => new DefaultContextFactory <DefaultDbContext>(new AutofacServiceProvider(AutofacContainer), ctx.Resolve <IDbConnectionFactory>())).AsImplementedInterfaces();
        }