public static void ScheduleJob(this IScheduler scheduler, JobKey jobKey, string scheduleText, TimeZoneInfo timeZone) { TextToScheduleFactory factory = new TextToScheduleFactory(); var english = factory.CreateEnglishParser(); var results = english.Parse(scheduleText, timeZone); results.ScheduleWithJobKey(scheduler, jobKey); }
public static bool IsValidScheduleText(this IScheduler scheduler, string scheduleText) { TextToScheduleFactory factory = new TextToScheduleFactory(); var english = factory.CreateEnglishParser(); try { return(english.IsValid(scheduleText)); } catch { return(false); } }
public static bool IsValidScheduleText(this IScheduler scheduler, string scheduleText) { TextToScheduleFactory factory = new TextToScheduleFactory(); var english = factory.CreateEnglishParser(); try { return english.IsValid(scheduleText); } catch { return false; } }
private static void InputChanged(object sender, DependencyPropertyChangedEventArgs e) { var m = (sender) as Model; m.Triggers.Clear(); TextToScheduleResults results = null; TextToScheduleFactory parserFactory = new TextToScheduleFactory(); var englishParser = parserFactory.CreateEnglishParser(); var germanParser = parserFactory.CreateGermanParser(); ITextToSchedule textToSchedule = new MultiTextToSchedule( parserFactory.CreateEnglishParser(), parserFactory.CreateGermanParser(), parserFactory.CreateCronParser()); string text = m.Input; results = textToSchedule.Parse(text, m.TimeZone); if (results != null) { List<DateTimeOffset> list = new List<DateTimeOffset>(); foreach (var groups in results.RegisterGroups) { var trigger = (IOperableTrigger)groups.TriggerBuilder.Build(); var dates = TriggerUtils.ComputeFireTimes(trigger, groups.Calendar, MaxResultsToReturn); foreach (var d in dates) { list.Add(TimeZoneUtil.ConvertTime(d, m.TimeZone)); } } //sort the list list.Sort(); foreach (var item in list.Take(MaxResultsToReturn)) { m.Triggers.Add(item.ToString("ddd, MM/dd/yyyy hh:mm:ss tt (zzz)")); } } }