forked from Artusoft/Nop.Plugin.Widgets.PriceForSize
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DependencyRegistrar.cs
55 lines (45 loc) · 1.89 KB
/
DependencyRegistrar.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
using Autofac;
using Autofac.Core;
using Nop.Core.Data;
using Nop.Core.Infrastructure;
using Nop.Core.Infrastructure.DependencyManagement;
using Nop.Data;
using Nop.Plugin.Widgets.PriceForSize.Data;
using Nop.Plugin.Widgets.PriceForSize.Domain;
using Nop.Plugin.Widgets.PriceForSize.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Nop.Web.Framework.Mvc;
using Nop.Services.Catalog;
using Nop.Core.Configuration;
namespace Nop.Plugin.Widgets.PriceForSize
{
public class DependencyRegistrar : IDependencyRegistrar
{
private const string CONTEXT_NAME = "nop_object_context_product_price_for_size";
public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
{
builder.RegisterType<PriceForSizeService>().As<IPriceForSizeService>().InstancePerLifetimeScope();
//data context
this.RegisterPluginDataContext<PriceForSizeObjectContext>(builder, CONTEXT_NAME);
//override required repository with our custom context
builder.RegisterType<EfRepository<Product_PriceForSize>>()
.As<IRepository<Product_PriceForSize>>()
.WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
.InstancePerLifetimeScope();
builder.RegisterType<EfRepository<ProductAttributeValue_PriceForSize>>()
.As<IRepository<ProductAttributeValue_PriceForSize>>()
.WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
.InstancePerLifetimeScope();
builder.RegisterType<Nop.Plugin.Widgets.PriceForSize.Services.PriceCalculationService>().As<IPriceCalculationService>().InstancePerLifetimeScope();
// builder.RegisterType<Nop.Plugin.Widgets.PriceForSize.ActionFilters.ProductActionFilter>().As<System.Web.Mvc.IFilterProvider>();
}
public int Order
{
get { return 1; }
}
}
}