namespace Campaign_Tracker.Server.Seed; public sealed class SeedHostedService : IHostedService { private readonly IServiceScopeFactory _scopeFactory; private readonly ILogger _logger; public SeedHostedService( IServiceScopeFactory scopeFactory, ILogger logger) { _scopeFactory = scopeFactory; _logger = logger; } public async Task StartAsync(CancellationToken cancellationToken) { using var scope = _scopeFactory.CreateScope(); var seedService = scope.ServiceProvider.GetRequiredService(); await seedService.SeedAsync(cancellationToken); _logger.LogInformation("System reference values and rule defaults are seeded."); } public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; }