using ProjectLibrary.Repositories.Implementations; using ProjectLibrary.Repositories; using Unity; using ProjectLibrary.Repositores; using ProjectLibrary.Repositores.Implementations; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Serilog; using Unity.Microsoft.Logging; namespace ProjectLibrary { internal static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); Application.Run(CreateContainer().Resolve<FormLibrary>()); } private static IUnityContainer CreateContainer() { var container = new UnityContainer(); container.AddExtension(new LoggingExtension(CreateLoggerFactory())); // ����������� ������������ container.RegisterType<IBookRepository, BookRepository>(); container.RegisterType<ILibraryRepository, LibraryRepository>(); container.RegisterType<IReaderRepository, ReaderRepository>(); container.RegisterType<IOrderRepository, OrderRepository>(); container.RegisterType<ITicketExtensionsRepository, TicketExtensionsRepository>(); container.RegisterType<IConnectionString, ConnectionString>(); return container; } private static LoggerFactory CreateLoggerFactory() { var loggerFactory = new LoggerFactory(); loggerFactory.AddSerilog(new LoggerConfiguration() .ReadFrom.Configuration(new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build()) .CreateLogger()); return loggerFactory; } } }