private void AddToSchedule(Models.ScheduleAddRequest request) { if (string.IsNullOrWhiteSpace(request.Program)) { request.Program = @"c:\Windows\System32\cmd.exe"; string args = request.Arguments.TrimStart(); if (!args.StartsWith("/C") && !args.StartsWith("/K")) { request.Arguments = $"/C {request.Arguments.Trim()}"; } } else if (ProgramAliases.ContainsKey(request.Program.Trim())) { request.ApplyAlias(ProgramAliases[request.Program.Trim()]); } RecurringJob.AddOrUpdate(request.Label, () => ApplicationService.FromRequest(request).Start(null), request.Cron); RecurringJob.Trigger(request.Label); }
public ActionResult <object> Add([FromBody] Models.ScheduleAddRequest request) => Attempt(() => AddToSchedule(request));