ISEbd-21_Melnikov_I.O._CarS.../CarService/CarServiceWebApp/Program.cs

67 lines
2.6 KiB
C#

using CarServiceBusinessLogic.BusinessLogics;
using CarServiceBusinessLogic.MailWorker;
using CarServiceBusinessLogic.OfficePackage;
using CarServiceBusinessLogic.OfficePackage.Implements;
using CarServiceContracts.BusinessLogicsContracts;
using CarServiceContracts.StorageContracts;
using CarServiceDatabase.Implements;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Logging.SetMinimumLevel(LogLevel.Trace);
builder.Logging.AddLog4Net("log4net.config");
builder.Services.AddControllersWithViews();
builder.Services.AddTransient<IWorkLogic, WorkLogic>();
builder.Services.AddTransient<IWorkStorage, WorkStorage>();
builder.Services.AddTransient<IWorkerLogic, WorkerLogic>();
builder.Services.AddTransient<IWorkerStorage, WorkerStorage>();
builder.Services.AddTransient<IItemLogic, ItemLogic>();
builder.Services.AddTransient<IItemStorage, ItemStorage>();
builder.Services.AddTransient<IRepairRequestLogic, RepairRequestLogic>();
builder.Services.AddTransient<IRepairRequestStorage, RepairRequestStorage>();
builder.Services.AddTransient<IItemForRepairLogic, ItemForRepairLogic>();
builder.Services.AddTransient<IItemForRepairStorage, ItemForRepairStorage>();
builder.Services.AddTransient<IWorkInRequestLogic, WorkInRequestLogic>();
builder.Services.AddTransient<IWorkInRequestStorage, WorkInRequestStorage>();
builder.Services.AddTransient<IWorkPaymentStorage, WorkPaymentStorage>();
builder.Services.AddTransient<IReportLogic, ReportLogic>();
builder.Services.AddTransient<AbstractSaveToWord, SaveToWord>();
builder.Services.AddTransient<AbstractSaveToExcel, SaveToExcel>();
builder.Services.AddTransient<AbstractSaveToPdf, SaveToPdf>();
builder.Services.AddSingleton<AbstractMailWorker, MailKitWorker>();
builder.Services.AddTransient<ICustomerRoleImitationLogic, CustomerRoleImitationLogic>();
builder.Services.AddTransient<ICustomerLogic, CustomerLogic>();
builder.Services.AddTransient<ICustomerStorage, CustomerStorage>();
builder.Services.AddTransient<IVehicleLogic, VehicleLogic>();
builder.Services.AddTransient<IVehicleStorage, VehicleStorage>();
builder.Services.AddTransient<IWorkPaymentLogic, WorkPaymentLogic>();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();