using EmployeeManagmentDataBaseImplement; using EmployeeManagmentBusinessLogic.BusinessLogic; using EmployeeManagmentContracts.BusinessLogicContracts; using Microsoft.Extensions.DependencyInjection; using Microsoft.EntityFrameworkCore; using System; using System.Windows; namespace EmployeeManagmentView { public partial class App : Application { private static ServiceProvider? _serviceProvider; public static ServiceProvider? ServiceProvider => _serviceProvider; protected override void OnStartup(StartupEventArgs e) { var serviceCollection = new ServiceCollection(); ConfigureServices(serviceCollection); _serviceProvider = serviceCollection.BuildServiceProvider(); try { var mainWindow = _serviceProvider.GetRequiredService(); mainWindow.Show(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка при открытии MainWindow", MessageBoxButton.OK, MessageBoxImage.Error); } base.OnStartup(e); } private static void ConfigureServices(ServiceCollection services) { // Регистрация контекста базы данных с использованием конфигурации services.AddLogging(configure => configure.AddConsole()); // Регистрация бизнес-логики и других сервисов services.AddTransient(); services.AddTransient(); // Регистрация окон services.AddTransient(); } } }