Ejemplo n.º 1
0
        public static void Configure()
        {
            var builder = new ContainerBuilder();

            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Path.Combine(HttpRuntime.AppDomainAppPath, "configs"))
                                .AddJsonFile("BankServiceConfiguration.json", optional: false, reloadOnChange: false)
                                .Build();

            BankServiceConfiguration options = configuration.GetSection("bankservice").Get <BankServiceConfiguration>();

            builder.RegisterInstance <BankServiceConfiguration>(options);
            builder.RegisterType <BankService>().As <IBankService>();
            builder.RegisterType <PaymentService>().As <IPaymentService>();

            builder.RegisterAssemblyTypes(Assembly.Load("PaymentGateway.Infrastructure"))
            .Where(t => t.Name.EndsWith("Repository"))
            .AsImplementedInterfaces()
            .InstancePerLifetimeScope();

            builder.RegisterType(typeof(PaymentsContext)).As(typeof(DbContext)).InstancePerLifetimeScope();

            var container = builder.Build();
            var resolver  = new AutofacWebApiDependencyResolver(container);

            GlobalConfiguration.Configuration.DependencyResolver = resolver;
        }
Ejemplo n.º 2
0
 public BankService(BankServiceConfiguration configuration)
 {
     Configuration = configuration;
 }