using ComputerShopBusinessLogic.BusinessLogics; using ComputerShopBusinessLogic.OfficePackage; using ComputerShopBusinessLogic.OfficePackage.Implements; using ComputerShopContracts.BusinessLogicContracts; using ComputerShopContracts.StorageContracts; using ComputerShopDatabaseImplement.Implements; using Microsoft.OpenApi.Models; var builder = WebApplication.CreateBuilder(args); builder.Logging.SetMinimumLevel(LogLevel.Trace); builder.Logging.AddLog4Net("log4net.config"); // Add services to the container. builder.Services.AddTransient<IClientStorage, ClientStorage>(); builder.Services.AddTransient<IPurchaseStorage, PurchaseStorage>(); builder.Services.AddTransient<IComponentStorage, ComponentStorage>(); builder.Services.AddTransient<IAssemblyStorage, AssemblyStorage>(); builder.Services.AddTransient<IEquipmentReceivingStorage, EquipmentReceivingStorage>(); builder.Services.AddTransient<ISupplyStorage, SupplyStorage>(); builder.Services.AddTransient<IPurchaseLogic, PurchaseLogic>(); builder.Services.AddTransient<IClientLogic, ClientLogic>(); builder.Services.AddTransient<IComponentLogic, ComponentLogic>(); builder.Services.AddTransient<IAssemblyLogic, AssemblyLogic>(); builder.Services.AddTransient<IEquipmentReceivingLogic, EquipmentReceivingLogic>(); builder.Services.AddTransient<IReportLogic, ReportLogic>(); builder.Services.AddTransient<AbstractSaveToExcel, SaveToExcel>(); builder.Services.AddTransient<AbstractSaveToWord, SaveToWord>(); builder.Services.AddTransient<AbstractSaveToPdf, SaveToPdf>(); builder.Services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "ComputerShopRestApi", Version = "v1" }); }); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "ComputerShopRestApi v1")); } app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers(); app.Run();