forked from amkovkov/GranuSightSoftware2
47 lines
1.7 KiB
C#
47 lines
1.7 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using GSS2.Core;
|
|
using GSS2.Core.Analysis.AmineContent.Database;
|
|
using Microsoft.Extensions.Logging.Console;
|
|
|
|
namespace GSS2.Test;
|
|
|
|
public class Program
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
var builder = Host.CreateApplicationBuilder(args);
|
|
|
|
builder.Logging.ClearProviders();
|
|
builder.Logging.AddConsole(options => options.FormatterName = nameof(ConsoleFormatter));
|
|
builder.Logging.AddConsoleFormatter<ConsoleFormatter, ConsoleFormatterOptions>();
|
|
builder.Logging.AddProvider(new FileLoggerProvider("app.log"));
|
|
builder.Services.AddSingleton<LibCameraLogSink>();
|
|
|
|
builder.Services.AddAmineContentCalibrationContext(builder.Configuration);
|
|
builder.Services.AddAmineContentResultsContext(builder.Configuration);
|
|
|
|
builder.Services.AddLightsService("Hardware:Lights");
|
|
builder.Services.AddTemperatureHumidityService("Hardware:TemperatureHumidity");
|
|
builder.Services.AddIlluminatorService("Hardware:Illuminator");
|
|
builder.Services.AddCameraService("Hardware:Camera");
|
|
|
|
builder.Services.AddHostedService<Worker>();
|
|
|
|
var host = builder.Build();
|
|
host.Services.GetRequiredService<LibCameraLogSink>();
|
|
|
|
using (var scope = host.Services.CreateScope())
|
|
{
|
|
var context = scope.ServiceProvider.GetRequiredService<AmineContentCalibrationContext>();
|
|
context.Database.Migrate();
|
|
}
|
|
using (var scope = host.Services.CreateScope())
|
|
{
|
|
var context = scope.ServiceProvider.GetRequiredService<AmineContentResultsContext>();
|
|
context.Database.Migrate();
|
|
}
|
|
|
|
host.Run();
|
|
}
|
|
}
|