46 lines
1.6 KiB
C#
46 lines
1.6 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System.IO;
|
|
using System.Windows;
|
|
|
|
namespace FahrzeugProjekt
|
|
{
|
|
public partial class App : Application
|
|
{
|
|
public static IServiceProvider ServiceProvider { get; private set; }
|
|
|
|
protected override void OnStartup(StartupEventArgs e)
|
|
{
|
|
base.OnStartup(e);
|
|
|
|
// Configuration laden
|
|
var builder = new ConfigurationBuilder()
|
|
.SetBasePath(Directory.GetCurrentDirectory())
|
|
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
|
|
IConfiguration configuration = builder.Build();
|
|
|
|
string connectionString = configuration.GetConnectionString("FahrzeugProjektConnection");
|
|
|
|
// Services konfigurieren
|
|
var services = new ServiceCollection();
|
|
|
|
// DbContext registrieren
|
|
services.AddDbContext<FahrzeugProjektKontext>(options =>
|
|
options.UseSqlServer(connectionString));
|
|
|
|
// Alle Fenster registrieren
|
|
services.AddTransient<MainWindow>();
|
|
services.AddTransient<FahrzeugEintragenWindow>();
|
|
services.AddTransient<FahrzeugeAnzeigenWindow>();
|
|
|
|
// Service Provider erstellen
|
|
ServiceProvider = services.BuildServiceProvider();
|
|
|
|
// MainWindow manuell erstellen und anzeigen
|
|
var hauptFenster = ServiceProvider.GetRequiredService<MainWindow>();
|
|
hauptFenster.Show();
|
|
}
|
|
}
|
|
}
|