0
0
RhSolutions-Api/RhSolutions.Api/Program.cs

72 lines
4.2 KiB
C#
Raw Normal View History

2022-12-14 09:53:10 +03:00
using Microsoft.EntityFrameworkCore;
2023-05-11 07:55:26 +03:00
using RhSolutions.Models;
2022-12-14 09:53:10 +03:00
using RhSolutions.Api.Services;
2023-09-19 14:56:55 +03:00
using RhSolutions.Api.Middleware;
2023-10-10 22:26:16 +03:00
using RhSolutions.QueryModifiers;
2023-12-30 14:43:25 +03:00
using RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
using RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes;
2022-12-14 09:53:10 +03:00
var builder = WebApplication.CreateBuilder(args);
2023-12-30 14:43:25 +03:00
string dbHost = builder.Configuration["DB_HOST"] ?? "localhost",
dbPort = builder.Configuration["DB_PORT"] ?? "5000",
dbName = builder.Configuration["DB_DATABASE"] ?? "rhsolutions",
dbUser = builder.Configuration["DB_USER"] ?? "chebser",
dbPassword = builder.Configuration["DB_PASSWORD"] ?? "Rehau-987";
2022-12-14 09:53:10 +03:00
string connectionString = builder.Configuration["ConnectionsStrings:RhSolutionsLocal"]
?? $"Host={dbHost};Port={dbPort};Database={dbName};Username={dbUser};Password={dbPassword}";
builder.Services.AddDbContext<RhSolutionsContext>(opts =>
{
opts.UseNpgsql(connectionString);
if (builder.Environment.IsDevelopment())
{
opts.EnableSensitiveDataLogging(true);
}
});
2023-09-19 14:56:55 +03:00
builder.Services.AddScoped<IPricelistParser, ClosedXMLParser>()
2023-12-30 14:43:25 +03:00
.AddScoped<IProductTypePredicter, ProductTypePredicter>();
2022-12-14 09:53:10 +03:00
builder.Services.AddControllers();
2023-12-30 14:43:25 +03:00
builder.Services.AddKeyedScoped<IProductQueryModifier, Sleeve>("Монтажная гильза")
.AddKeyedScoped<IProductQueryModifier, SupportingClip>("Желоб")
.AddKeyedScoped<IProductQueryModifier, TPiece>("Тройник RAUTITAN")
.AddKeyedScoped<IProductQueryModifier, ThreadTPieceExternal>("Тройник RAUTITAN резьбовой наружный")
.AddKeyedScoped<IProductQueryModifier, ThreadTPieceInternal>("Тройник RAUTITAN резьбовой внутренний")
.AddKeyedScoped<IProductQueryModifier, AdapterExternal>("Переходник на наружную резьбу")
.AddKeyedScoped<IProductQueryModifier, AdapterInternal>("Переходник на внутреннюю резьбу")
.AddKeyedScoped<IProductQueryModifier, AdapterScrewcap>("Переходник с накидной гайкой")
.AddKeyedScoped<IProductQueryModifier, ThreadElbowExternal>("Угольник с наружной резьбой")
.AddKeyedScoped<IProductQueryModifier, ThreadElbowInternal>("Угольник с внутренней резьбой")
.AddKeyedScoped<IProductQueryModifier, ThreadElbowWallExternal>("Угольник настенный наружный")
.AddKeyedScoped<IProductQueryModifier, ThreadElbowWallInternal>("Угольник настенный внутренний")
.AddKeyedScoped<IProductQueryModifier, ThreadElbowDoubleWallInternal>("Проточный настенный угольник")
.AddKeyedScoped<IProductQueryModifier, ScrewcapElbow>("Угольник с накидной гайкой")
.AddKeyedScoped<IProductQueryModifier, Coupling>("Муфта соединительная")
.AddKeyedScoped<IProductQueryModifier, Elbow>("Угольник RAUTITAN")
.AddKeyedScoped<IProductQueryModifier, BendFormerHeating>("Фиксатор поворота отопление")
.AddKeyedScoped<IProductQueryModifier, BendFormerSanitary>("Фиксатор поворота водоснабжение")
.AddKeyedScoped<IProductQueryModifier, ConnectionBend>("Трубка Г-образная")
.AddKeyedScoped<IProductQueryModifier, ConnectionTee>("Трубка Т-образная")
.AddKeyedScoped<IProductQueryModifier, EuroconeFlex>("Резьбозажимное flex")
.AddKeyedScoped<IProductQueryModifier, EuroconeStabil>("Резьбозажимное stabil")
.AddKeyedScoped<IProductQueryModifier, EuroconeAdapter>("Переходник на евроконус")
.AddKeyedScoped<IProductQueryModifier, EuroconeConnectionBend>("Резьбозажимное для трубки")
.AddKeyedScoped<IProductQueryModifier, Nippel>("Ниппель")
.AddKeyedScoped<IProductQueryModifier, DummyPlug>("Заглушка труб RAUTITAN")
.AddKeyedScoped<IProductQueryModifier, FlexPipe>("Flex")
.AddKeyedScoped<IProductQueryModifier, PinkPipe>("Pink")
.AddKeyedScoped<IProductQueryModifier, StabilPipe>("Stabil")
.AddKeyedScoped<IProductQueryModifier, BlackPipe>("Black");
2022-12-14 09:53:10 +03:00
var app = builder.Build();
app.MapControllers();
2023-09-19 14:56:55 +03:00
app.UseMiddleware<QueryModifier>();
2022-12-14 09:53:10 +03:00
var context = app.Services.CreateScope().ServiceProvider
.GetRequiredService<RhSolutionsContext>();
app.Run();