using LiteCharms.Extensions; using LiteCharmsScheduler.Workers; using static LiteCharms.Abstractions.Constants; var builder = Host.CreateApplicationBuilder(args); builder.Services.AddMediator(); builder.Services.AddEmailServiceBus(); builder.Services.AddSalesServiceBus(); builder.Services.AddGeneralServiceBus(); builder.Services.AddEmailServices(builder.Configuration); builder.Services.AddShopDatabase(builder.Configuration); builder.Services.AddQuartzSchedulerClient(ShopSchedulerName, ShopSchedulerInstanceId, builder.Configuration); builder.Services.AddHostedService(); var host = builder.Build(); var schedulerFactory = host.Services.GetRequiredService(); var scheduler = await schedulerFactory.GetScheduler(ShopSchedulerName); if (!scheduler!.IsStarted) await scheduler.Start(); host.Run();