You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.5 KiB

using Autofac;
using MODELING_DEF_DES_MI_VI.Controllers;
using MODELING_DEF_DES_MI_VI.Interfaces;
using MODELING_DEF_DES_MI_VI.Models;
using MODELING_DEF_DES_MI_VI.Models.Spreads;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MODELING_DEF_DES_MI_VI
{
public class Bootstrap
{
public IContainer CompileContainer()
{
ContainerBuilder build = new ContainerBuilder();
build
.Register(c => new MaterialModel())
.As<MaterialModel>()
.SingleInstance();
build
.Register(c => new ObservableCollection<IPoreSpread>() { new NormalSpread(c.Resolve<MaterialModel>()) })
.As<IEnumerable<IPoreSpread>>()
.SingleInstance();
build
.RegisterType<PoreGenerator>()
.As<IPoreGenerator>()
.SingleInstance();
build
.RegisterType<BatchGenerator>()
.AsSelf();
build
.RegisterType<ReportGenerator>()
.AsSelf();
build
.RegisterType<ConnectedPoreReportGenerator>()
.AsSelf()
.SingleInstance();
build
.RegisterType<MainWindowViewModel>()
.AsSelf()
.SingleInstance();
return build.Build();
}
}
}