-
Notifications
You must be signed in to change notification settings - Fork 0
/
AutofacBusinessModule.cs
60 lines (47 loc) · 2.4 KB
/
AutofacBusinessModule.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using Autofac;
using Autofac.Extras.DynamicProxy;
using Business.Abstract;
using Business.CCS;
using Business.Concrete;
using Castle.DynamicProxy;
using Core.Utilities.Interceptors;
using Core.Utilities.Security.JWT;
using DataAccess.Abstract;
using DataAccess.Concrete;
using DataAccess.Concrete.EntityFramework;
using System;
using System.Collections.Generic;
using System.Text;
namespace Business.DependencyResolvers.Autofac
{
public class AutofacBusinessModule : Module
{
protected override void Load(ContainerBuilder builder)
{
builder.RegisterType<CarManager>().As<ICarService>().SingleInstance();
builder.RegisterType<EfCarDal>().As<ICarDal>().SingleInstance();
builder.RegisterType<UserManager>().As<IUserService>().SingleInstance();
builder.RegisterType<EfUserDal>().As<IUserDal>().SingleInstance();
builder.RegisterType<CustomersManager>().As<ICustomersService>().SingleInstance();
builder.RegisterType<EfCustomersDal>().As<ICustomersDal>().SingleInstance();
builder.RegisterType<BrandManager>().As<IBrandService>().SingleInstance();
builder.RegisterType<EfBrandDal>().As<IBrandDal>().SingleInstance();
builder.RegisterType<ColorManager>().As<IColorService>().SingleInstance();
builder.RegisterType<EfColorDal>().As<IColorDal>().SingleInstance();
builder.RegisterType<RentalsManager>().As<IRentalsService>().SingleInstance();
builder.RegisterType<EfRentalsDal>().As<IRentalsDal>().SingleInstance();
builder.RegisterType<CarImagesManager>().As<ICarImagesService>().SingleInstance();
builder.RegisterType<EfCarImagesDal>().As<ICarImagesDal>().SingleInstance();
builder.RegisterType<PaymentManager>().As<IPaymentService>().SingleInstance();
builder.RegisterType<EfPaymentDal>().As<IPaymentDal>().SingleInstance();
builder.RegisterType<AuthManager>().As<IAuthService>();
builder.RegisterType<JwtHelper>().As<ITokenHelper>();
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
builder.RegisterAssemblyTypes(assembly).AsImplementedInterfaces()
.EnableInterfaceInterceptors(new ProxyGenerationOptions()
{
Selector = new AspectInterceptorSelector()
}).SingleInstance();
}
}
}