Gui neu angelegt
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StammGenerator.HostBuilders
|
||||
{
|
||||
static class AddConfigurationHostBuilderExtensions
|
||||
{
|
||||
public static IHostBuilder AddConfiguration(this IHostBuilder hostBuilder)
|
||||
{
|
||||
hostBuilder.ConfigureAppConfiguration(c =>
|
||||
{
|
||||
c.AddJsonFile("appsettings.json");
|
||||
c.AddEnvironmentVariables();
|
||||
}
|
||||
);
|
||||
return hostBuilder;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StammGenerator.HostBuilders
|
||||
{
|
||||
static class AddDBContextHostBuilderExtensions
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using SewerStammGen.Shared.Contracts;
|
||||
using StammGenerator.Interface;
|
||||
using StammGenerator.ViewModel;
|
||||
using System;
|
||||
|
||||
namespace StammGenerator.HostBuilders
|
||||
{
|
||||
internal static class AddServicesHostBuilderExtensions
|
||||
{
|
||||
public static IHostBuilder AddServices(this IHostBuilder host)
|
||||
{
|
||||
host.ConfigureServices((context,services) =>
|
||||
{
|
||||
services.AddSingleton<IMainWindowNavigator, MainWindowNavigator>();
|
||||
services.AddSingleton<ViewModelDelegateRenavigator<ProjektEditViewModel>>();
|
||||
|
||||
string? databaseToUse = context.Configuration.GetConnectionString("databaseToUse");
|
||||
if(databaseToUse != null)
|
||||
{
|
||||
if(databaseToUse.Equals("postgresql"))
|
||||
{
|
||||
string? connectionstring = context.Configuration.GetConnectionString("postgresql");
|
||||
if(connectionstring == null) throw new ArgumentNullException(nameof(connectionstring));
|
||||
services.AddSingleton<IProjektDataService>(_=> new SewerStammGen.DAL.Services.PostgresqlData.ProjektDataService(connectionstring));
|
||||
services.AddSingleton<IAuftraggeberDataService>(_ => new SewerStammGen.DAL.Services.PostgresqlData.AuftraggeberDataService(connectionstring));
|
||||
services.AddSingleton<ISchachtDataService>(_ => new SewerStammGen.DAL.Services.PostgresqlData.SchachtDataService(connectionstring));
|
||||
services.AddSingleton<IHaltungDataService>(_ => new SewerStammGen.DAL.Services.PostgresqlData.HaltungDataService(connectionstring));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
});
|
||||
return host;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using StammGenerator.ViewModel;
|
||||
|
||||
namespace StammGenerator.HostBuilders
|
||||
{
|
||||
static class AddStoresHostBuilderExtensions
|
||||
{
|
||||
public static IHostBuilder AddStores(this IHostBuilder hostBuilder)
|
||||
{
|
||||
hostBuilder.ConfigureServices(services =>
|
||||
{
|
||||
services.AddSingleton<IActualState, ActualState>();
|
||||
});
|
||||
return hostBuilder;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using SewerStammGen.Shared.Contracts;
|
||||
using StammGenerator.Interface;
|
||||
using StammGenerator.ViewModel;
|
||||
using StammGenerator.ViewModel.Factories;
|
||||
|
||||
namespace StammGenerator.HostBuilders
|
||||
{
|
||||
static class AddViewModelsHostBuilderExtensions
|
||||
{
|
||||
public static IHostBuilder AddViewModels(this IHostBuilder hostBuilder)
|
||||
{
|
||||
hostBuilder.ConfigureServices(services =>
|
||||
{
|
||||
|
||||
services.AddTransient<MainWindowViewModel>();
|
||||
|
||||
services.AddSingleton<ViewModelDelegateRenavigator<ProjektListViewModel>>();
|
||||
services.AddSingleton<ViewModelDelegateRenavigator<ProjektEditViewModel>>();
|
||||
|
||||
services.AddSingleton<ViewModelDelegateRenavigator<ManholeListViewModel>>();
|
||||
services.AddSingleton<ViewModelDelegateRenavigator<ManholeEditViewModel>>();
|
||||
services.AddSingleton<ViewModelDelegateRenavigator<ManholeImportViewModel>>();
|
||||
|
||||
services.AddSingleton<ViewModelDelegateRenavigator<HaltungListViewModel>>();
|
||||
services.AddSingleton<ViewModelDelegateRenavigator<HaltungEditViewModel>>();
|
||||
|
||||
services.AddSingleton<CreateViewModel<HomeViewModel>>(services =>
|
||||
{
|
||||
return () => new HomeViewModel();
|
||||
});
|
||||
|
||||
#region Schächte
|
||||
services.AddSingleton<CreateViewModel<ManholeListViewModel>>(services =>
|
||||
{
|
||||
return () => new ManholeListViewModel(
|
||||
services.GetRequiredService<ISchachtDataService>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeEditViewModel>>(),
|
||||
services.GetRequiredService<IActualState>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeImportViewModel>>()
|
||||
);
|
||||
});
|
||||
|
||||
services.AddSingleton<CreateViewModel<ManholeEditViewModel>>(services =>
|
||||
{
|
||||
return () => new ManholeEditViewModel(
|
||||
services.GetRequiredService<ISchachtDataService>(),
|
||||
services.GetRequiredService<IActualState>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeListViewModel>>()
|
||||
);
|
||||
});
|
||||
|
||||
services.AddSingleton<CreateViewModel<ManholeImportViewModel>>(services =>
|
||||
{
|
||||
return () => new ManholeImportViewModel(
|
||||
services.GetRequiredService<ISchachtDataService>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeListViewModel>>(),
|
||||
services.GetRequiredService<IActualState>()
|
||||
);
|
||||
});
|
||||
#endregion
|
||||
|
||||
#region Haltungen
|
||||
services.AddSingleton<CreateViewModel<HaltungListViewModel>>(services =>
|
||||
{
|
||||
return () => new HaltungListViewModel(
|
||||
services.GetRequiredService<IHaltungDataService>(),
|
||||
services.GetRequiredService<IActualState>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<HaltungEditViewModel>>()
|
||||
);
|
||||
});
|
||||
|
||||
services.AddTransient<CreateViewModel<HaltungEditViewModel>>(services =>
|
||||
{
|
||||
return () => new HaltungEditViewModel(
|
||||
services.GetRequiredService<IHaltungDataService>(),
|
||||
services.GetRequiredService<IActualState>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<HaltungListViewModel>>(),
|
||||
services.GetRequiredService<ISchachtDataService>()
|
||||
);
|
||||
});
|
||||
#endregion
|
||||
|
||||
#region Projekte
|
||||
services.AddSingleton<CreateViewModel<ProjektEditViewModel>>(services =>
|
||||
{
|
||||
return () => new ProjektEditViewModel(
|
||||
services.GetRequiredService<IProjektDataService>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ProjektListViewModel>>(),
|
||||
services.GetRequiredService<IActualState>()
|
||||
);
|
||||
});
|
||||
|
||||
services.AddSingleton<CreateViewModel<ProjektListViewModel>>(services =>
|
||||
{
|
||||
return () => new ProjektListViewModel(
|
||||
services.GetRequiredService<IProjektDataService>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ProjektEditViewModel>>(),
|
||||
services.GetRequiredService<IActualState>()
|
||||
);
|
||||
});
|
||||
#endregion
|
||||
|
||||
services.AddSingleton<IViewModelAbstractFactory, MainWindowViewModelFactory>();
|
||||
});
|
||||
|
||||
return hostBuilder;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user