using FahrzeugDatenBank;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System.IO;
using System.Windows;
namespace FahzeugWPF
{
///
/// Interaction logic for App.xaml
///
public partial class App : Application
{
public static ServiceProvider ServiceProvider { get; private set; }
public App()
{
IConfiguration configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: false, reloadOnChange: true).Build();
ServiceCollection services = new ServiceCollection();
services.AddScoped(sp => new Konfigurationsleser(configuration));
services.AddScoped(sp => new FahrzeugRepository(sp.GetRequiredService().LiesDBVerebindung()));
services.AddScoped();
services.AddSingleton();
services.AddSingleton();
ServiceProvider = services.BuildServiceProvider();
}
protected override void OnStartup(StartupEventArgs e)
{
this.MainWindow = ServiceProvider.GetService();
this.MainWindow.DataContext = ServiceProvider.GetService();
this.MainWindow.Show();
}
private string GetConnectionString()
{
return "Server=localhost;User ID=admin;Password=admin;Database=FahrzeugDB";
}
}
}