public ActionResult CreateCronTrigger() { var vm = new CronTriggerViewModel(); vm.Jobs = JobRepository.GetJobs(null).ToSelectList(); return(View(vm)); }
public ActionResult EditCronTrigger(CronTriggerViewModel model) { if (!ModelState.IsValid) { return(View(model)); } TriggerRepository.UpdateCronTrigger(model.ToDto()); return(RedirectToAction("trigger-manager")); }
public ActionResult EditCronTrigger(int id) { var dto = TriggerRepository.GetCronGrigger(id); if (dto != null) { var vm = CronTriggerViewModel.Create(dto); vm.Jobs = JobRepository.GetJobs(null).ToSelectList(); return(View(vm)); } return(RedirectToAction("cron-trigger-manager")); }
public async Task <IActionResult> Edit(string name, string group, bool clone = false) { if (!EnsureValidKey(name, group)) { return(BadRequest()); } var key = new TriggerKey(name, group); var trigger = await GetTrigger(key); var jobDataMap = new JobDataMapModel() { Template = JobDataMapItemTemplate }; var model = await TriggerPropertiesViewModel.Create(Scheduler); model.IsNew = clone; model.IsCopy = clone; model.Type = trigger.GetTriggerType(); model.Job = trigger.JobKey.ToString(); model.TriggerName = trigger.Key.Name; model.TriggerGroup = trigger.Key.Group; model.OldTriggerName = trigger.Key.Name; model.OldTriggerGroup = trigger.Key.Group; if (clone) { model.TriggerName += " - Copy"; } // don't show start time in the past because rescheduling cause triggering missfire policies model.StartTimeUtc = trigger.StartTimeUtc > DateTimeOffset.UtcNow ? trigger.StartTimeUtc.UtcDateTime.ToDefaultFormat() : null; model.EndTimeUtc = trigger.EndTimeUtc?.UtcDateTime.ToDefaultFormat(); model.CalendarName = trigger.CalendarName; model.Description = trigger.Description; model.Priority = trigger.Priority; model.MisfireInstruction = trigger.MisfireInstruction; switch (model.Type) { case TriggerType.Cron: model.Cron = CronTriggerViewModel.FromTrigger((ICronTrigger)trigger); break; case TriggerType.Simple: model.Simple = SimpleTriggerViewModel.FromTrigger((ISimpleTrigger)trigger); break; case TriggerType.Daily: model.Daily = DailyTriggerViewModel.FromTrigger((IDailyTimeIntervalTrigger)trigger); break; case TriggerType.Calendar: model.Calendar = CalendarTriggerViewModel.FromTrigger((ICalendarIntervalTrigger)trigger); break; default: throw new InvalidOperationException("Unsupported trigger type: " + trigger.GetType().AssemblyQualifiedName); } jobDataMap.Items.AddRange(trigger.GetJobDataMapModel(Services)); return(View("Edit", new TriggerViewModel() { Trigger = model, DataMap = jobDataMap })); }