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.

89 lines
2.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 MODELING_DEF_DES_MI_VI.Modules.ModelCreationUnit;
using MODELING_DEF_DES_MI_VI.Modules.PoreInspectionUnit;
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace MODELING_DEF_DES_MI_VI
{
public class Bootstrap
{
public IContainer CompileContainer()
{
ContainerBuilder build = new ContainerBuilder();
var camera = new Camera2D()
{
Speed = 1.0,
CutDepth = 10.0,
DepthVisibility = 2.0,
Scale = 40,
StartPosition = new Point2D(0 * 40, 0 * 40),
};
build
.RegisterInstance(camera)
.AsSelf()
.SingleInstance();
build
.Register(c => new MaterialModel())
.As<MaterialModel>()
.SingleInstance();
build
.Register(c => new ObservableCollection<IPoreSpread>() { new NormalSpread(c.Resolve<MaterialModel>()), new ImprovedNormalSpread(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<ModelCreationViewModel>()
.AsSelf()
.SingleInstance();
build
.RegisterType<ModelCreationView>()
.AsSelf()
.SingleInstance();
build
.RegisterType<PoreInspectionViewModel>()
.AsSelf()
.SingleInstance();
build
.RegisterType<PoreInspectionView>()
.AsSelf()
.SingleInstance();
build
.RegisterType<MainWindowViewModel>()
.AsSelf()
.SingleInstance();
return build.Build();
}
}
}