using IceCreamBusinessLogic.BusinessLogics; using IceCreamShopContracts.BusinessLogicsContracts; using IceCreamShopContracts.StoragesContracts; using IceCreamShopDatabaseImplement.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<IImplementerStorage, ImplementerStorage>(); builder.Services.AddTransient<IClientStorage, ClientStorage>(); builder.Services.AddTransient<IOrderStorage, OrderStorage>(); builder.Services.AddTransient<IIceCreamStorage, IceCreamStorage>(); builder.Services.AddTransient<IShopStorage, ShopStorage>(); builder.Services.AddTransient<IImplementerLogic, ImplementerLogic>(); builder.Services.AddTransient<IOrderLogic, OrderLogic>(); builder.Services.AddTransient<IClientLogic, ClientLogic>(); builder.Services.AddTransient<IIceCreamLogic, IceCreamLogic>(); builder.Services.AddTransient<IShopLogic, ShopLogic>(); 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 = "IceScreamRestApi", 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", "IceScreamRestApi v1")); } app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers(); app.Run();