private static IJobDetail ConfigureAndBuildJobDetail <T>( ServiceCollectionJobConfigurator builder, Action <IServiceCollectionJobConfigurator>?configure) where T : IJob { builder.OfType <T>(); configure?.Invoke(builder); var jobDetail = builder.Build(); return(jobDetail); }
/// <summary> /// Adds LibLog configuration to use Microsoft's logging abstraction instead of trying to find one. /// </summary> public static IServiceCollectionQuartzConfigurator AddJob <T>( this IServiceCollectionQuartzConfigurator configurator, Action <IServiceCollectionJobConfigurator>?configure = null) where T : IJob { var c = new ServiceCollectionJobConfigurator(configurator.Services); c.OfType <T>(); configure?.Invoke(c); var jobDetail = c.Build(); configurator.Services.AddTransient(x => jobDetail); configurator.Services.AddTransient(jobDetail.JobType); return(configurator); }