| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using bundleboiler.ui;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Hosting;
- using qdr.app.bundleboiler.business;
- using qdr.app.bundleboiler.data.Model;
- using qdr.app.bundleboiler.ui.Configuration;
- using Quadarax.Foundation.Core.Business.Injection;
- using Quadarax.Foundation.Core.Logging;
- namespace qdr.app.bundleboiler.ui
- {
- internal static class Program
- {
- public static IServiceProvider? ServiceProvider { get; private set; }
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
- [STAThread]
- static void Main()
- {
- // To customize application configuration such as set high DPI settings or default font,
- // see https://aka.ms/applicationconfiguration.
- ServiceProvider = CreateHostBuilder().Build().Services;
- ApplicationConfiguration.Initialize();
- Application.Run(new MainForm(ServiceProvider.GetService<ILogger>()));
- }
- private static IHostBuilder CreateHostBuilder()
- {
- return Host.CreateDefaultBuilder()
- .ConfigureServices((context, services) => {
- // configuration
- services.AddSingleton<IOptions, ApplicationOptions>();
- // db context
- services.AddDbContext<BoilerDbContext>();
- // logging
- services.AddSingleton<ILogger, Quadarax.Foundation.Core.NLog.LoggerFactory>();
- // business services
- DiManager.RegisterAssemblyFromThisAppdomain();
- DiManager.ScanAndRegisterDependencyInjections(services);
- });
- }
- }
- }
|