public static IContainer Initialize() { var builder = new ContainerBuilder(); //registering domain types builder.RegisterType <CommandService>().As <ICommandService>().SingleInstance(); builder.RegisterType <EventManager>().AsSelf().SingleInstance(); var dbType = ConfigurationManager.AppSettings["DbType"]; if (dbType == "File") { //registering FileDb types builder.RegisterModule(new FileDb.IoCModule()); } else { //registering EF types builder.RegisterModule(new EntityFramework.IoCModule()); } //registering RimacLinBusInterfaces types var linConfig = new LinConfiguration { BaudRate = BaudRate.Baud_192, HardwareMode = HardwareMode.Master }; builder.Register(b => new PeakLinInterface(linConfig)).As <ILinProvider>().SingleInstance(); //registering view model types builder.RegisterType <DeviceSelectionViewModel>().AsSelf().SingleInstance(); builder.RegisterType <FrameConfigurationViewModel>().AsSelf().SingleInstance(); builder.RegisterType <DiagnosticsViewModel>().AsSelf().SingleInstance(); builder.RegisterType <FrameManagementViewModel>().AsSelf().SingleInstance(); builder.RegisterType <MainWindowViewModel>().AsSelf().SingleInstance(); //registering main view builder.Register(b => new MainWindow(b.Resolve <MainWindowViewModel>())).AsSelf().SingleInstance(); return(builder.Build()); }
public ConnectionProvider(LinConfiguration config) { _config = config; }
public PeakLinInterface(LinConfiguration configuration) { _config = configuration; _connectionProvider = new ConnectionProvider(_config); }