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);
        }
Ejemplo n.º 2
0
        /// <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);
        }