using EmployeeManagmentDataBaseImplement; using EmployeeManagmentBusinessLogic.BusinessLogic; using EmployeeManagmentContracts.BusinessLogicContracts; using Microsoft.Extensions.DependencyInjection; using Microsoft.EntityFrameworkCore; using System; using System.Windows; using Microsoft.Extensions.Logging; using EmployeeManagmentContracts.StoragesContracts; using EmployeeManagmentDataBaseImplement.Implements; 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(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); } } }