public LoadBoatComponentsCommand(IColorService colorService, IDataService <Wood> woodService, IDataService <Model> modelService, BoatCardViewModel boatCardViewModel) { _colorService = colorService; _woodService = woodService; _modelService = modelService; _boatCardViewModel = boatCardViewModel; }
public static IHostBuilder CreateHostBuilder(string[] args = null) { return(Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration(c => { c.AddJsonFile("appsettings.json"); c.AddEnvironmentVariables(); }) .ConfigureServices((context, services) => { string connectionString = context.Configuration.GetConnectionString("default"); services.AddDbContext <OrderBoatNewDbContext>(o => o.UseSqlServer(connectionString)); services.AddSingleton <OrderBoatNewDbContextFactory>(new OrderBoatNewDbContextFactory(connectionString)); services.AddSingleton <IAuthenticationService, AuthenticationService>(); services.AddSingleton <IUserService, UserService>(); services.AddSingleton <IDataService <Model>, GenericDataService <Model> >(); services.AddSingleton <IDataService <Wood>, GenericDataService <Wood> >(); services.AddSingleton <IDataService <Color>, GenericDataService <Color> >(); services.AddSingleton <IColorService, ColorService>(); services.AddSingleton <IPasswordHasher, PasswordHasher>(); services.AddSingleton <IOrderBoarNewViewModelFactory, OrderBoatNewViewModelFactory>(); services.AddSingleton <BoatViewModel>(s => new BoatViewModel( BoatCardViewModel.LoadBoatCardViewModel(s.GetRequiredService <IDataService <Model> >(), s.GetRequiredService <IDataService <Wood> >(), s.GetRequiredService <IColorService>()))); services.AddSingleton <CreateViewModel <BoatViewModel> >(s => s.GetRequiredService <BoatViewModel>); services.AddSingleton <CreateViewModel <BoatAccessoryViewModel> >(s => { return () => new BoatAccessoryViewModel(); }); services.AddSingleton <ViewModelDelegateRenavigator <LoginViewModel> >(); services.AddSingleton <CreateViewModel <RegisterViewModel> >(s => { return () => new RegisterViewModel( s.GetRequiredService <IAuthenticator>(), s.GetRequiredService <ViewModelDelegateRenavigator <LoginViewModel> >(), s.GetRequiredService <ViewModelDelegateRenavigator <LoginViewModel> >()); }); services.AddSingleton <ViewModelDelegateRenavigator <BoatViewModel> >(); services.AddSingleton <ViewModelDelegateRenavigator <RegisterViewModel> >(); services.AddSingleton <CreateViewModel <LoginViewModel> >(s => { return () => new LoginViewModel(s.GetRequiredService <IAuthenticator>(), s.GetRequiredService <ViewModelDelegateRenavigator <BoatViewModel> >(), s.GetRequiredService <ViewModelDelegateRenavigator <RegisterViewModel> >()); }); services.AddScoped <INavigator, Navigator>(); services.AddScoped <IAuthenticator, Authenticator>(); services.AddScoped <MainViewModel>(); services.AddScoped(s => new MainWindow(s.GetRequiredService <MainViewModel>())); })); }