SchachtDataService hinzugefügt

This commit is contained in:
2023-04-13 14:08:48 +02:00
parent 047e036442
commit 47aba01cb4
28 changed files with 360 additions and 237 deletions

View File

@@ -1,6 +1,6 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using SewerStammGen.DAL.Services;
using SewerStammGen.Shared.Contracts;
using SewerStammGen.WPF.Interface.Navigator;
using SewerStammGen.WPF.ViewModel;
@@ -9,6 +9,7 @@ using Shared.Contracts;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
@@ -20,13 +21,25 @@ namespace SewerStammGen.HostBuilders
{
public static IHostBuilder AddServices(this IHostBuilder host)
{
host.ConfigureServices(services =>
host.ConfigureServices((context,services) =>
{
services.AddSingleton<IMainWindowNavigator, MainWindowNavigator>();
services.AddSingleton<ViewModelDelegateRenavigator<ProjektEditViewModel>>();
services.AddSingleton<IProjektDataService, ProjektDataService>();
services.AddSingleton<IAuftraggeberDataService, AuftraggeberDataService>();
services.AddSingleton<ISchachtDataService, SchachtDataService>();
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 DAL.Services.PostgresqlData.ProjektDataService(connectionstring));
services.AddSingleton<IAuftraggeberDataService>(_ => new DAL.Services.PostgresqlData.AuftraggeberDataService(connectionstring));
services.AddSingleton<ISchachtDataService>(_ => new DAL.Services.PostgresqlData.SchachtDataService(connectionstring));
services.AddSingleton<IHaltungDataService>(_ => new DAL.Services.PostgresqlData.HaltungDataService(connectionstring));
}
}
});

View File

@@ -46,7 +46,6 @@ namespace SewerStammGen.HostBuilders
{
return () => new ManholeListViewModel(
services.GetRequiredService<ISchachtDataService>(),
services.GetRequiredService<IDataService<Projekt>>(),
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeEditViewModel>>(),
services.GetRequiredService<IActualState>()
@@ -56,8 +55,9 @@ namespace SewerStammGen.HostBuilders
services.AddSingleton<CreateViewModel<ManholeEditViewModel>>(services =>
{
return () => new ManholeEditViewModel(
services.GetRequiredService<IDataService<Schacht>>(),
services.GetRequiredService<IActualState>()
services.GetRequiredService<ISchachtDataService>(),
services.GetRequiredService<IActualState>(),
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeListViewModel>>()
);
});
#endregion
@@ -66,7 +66,7 @@ namespace SewerStammGen.HostBuilders
services.AddSingleton<CreateViewModel<HaltungListViewModel>>(services =>
{
return () => new HaltungListViewModel(
services.GetRequiredService<IHaltungDataService>(),
services.GetRequiredService<IActualState>(),
services.GetRequiredService<ViewModelDelegateRenavigator<HaltungEditViewModel>>()
);
@@ -75,9 +75,9 @@ namespace SewerStammGen.HostBuilders
services.AddTransient<CreateViewModel<HaltungEditViewModel>>(services =>
{
return () => new HaltungEditViewModel(
services.GetRequiredService<IActualState>()
services.GetRequiredService<IHaltungDataService>(),
services.GetRequiredService<IActualState>(),
services.GetRequiredService<ViewModelDelegateRenavigator<HaltungListViewModel>>()
);
});
#endregion