6

Is it possible using the Quartz .NET assembly to generate a cron expression? I saw that the CronScheduleBuilder class has a private member cronExpression which is essentially what I am looking for. Is there any other way to get the cron expression itself?

walen
  • 7,103
  • 2
  • 37
  • 58
Ian R. O'Brien
  • 6,682
  • 9
  • 45
  • 73

2 Answers2

9

Possible using ICronTrigger.CronExpressionString

CronScheduleBuilder csb = CronScheduleBuilder
    .WeeklyOnDayAndHourAndMinute(DayOfWeek.Monday, 12, 0);

ICronTrigger trigger = (ICronTrigger)TriggerBuilder
    .Create()
    .WithSchedule(csb)
    .Build();

string cronExpression = trigger.CronExpressionString;
M Afifi
  • 4,645
  • 2
  • 28
  • 48
Ian R. O'Brien
  • 6,682
  • 9
  • 45
  • 73
2

Using Ian answer, I have created a small extension method. Hopefully it will be useful for someone else...

public static class QuartzExtensionMethods
{
    public static string ToCronString(this CronScheduleBuilder cronSchedule)
    {
        ICronTrigger trigger = (ICronTrigger)TriggerBuilder
        .Create()
        .WithSchedule(cronSchedule)
        .Build();

        return trigger.CronExpressionString;
    }
}
wonea
  • 4,783
  • 17
  • 86
  • 139
Thomas
  • 5,603
  • 5
  • 32
  • 48