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(); var spanishParser = parserFactory.CreateSpanishParser(); ITextToSchedule textToSchedule = new MultiTextToSchedule( parserFactory.CreateEnglishParser(), parserFactory.CreateGermanParser(), parserFactory.CreateSpanishParser(), 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)")); } } }