示例#1
0
 public LoadBoatComponentsCommand(IColorService colorService,
                                  IDataService <Wood> woodService,
                                  IDataService <Model> modelService,
                                  BoatCardViewModel boatCardViewModel)
 {
     _colorService      = colorService;
     _woodService       = woodService;
     _modelService      = modelService;
     _boatCardViewModel = boatCardViewModel;
 }
示例#2
0
        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>()));
            }));
        }