public ActionResult CreateScheduleItem(ScheduleDto scheduleDto) { dynamic Result = new ExpandoObject(); ActionResult ActionResult = new ActionResult(); try { if (scheduleDto.RetryTimeLapse == 0) { scheduleDto.RetryTimeLapse = Null.NullInteger; } if (!SchedulerManager.VerifyValidTimeLapseRetry(scheduleDto.TimeLapse, scheduleDto.TimeLapseMeasurement, scheduleDto.RetryTimeLapse, scheduleDto.RetryTimeLapseMeasurement)) { ActionResult.AddError("InvalidFrequencyAndRetry", Localization.GetString("InvalidFrequencyAndRetry", Components.Constants.TaskSchedulerResourcesFile)); } else { ScheduleItem scheduleItem = _controller.CreateScheduleItem(scheduleDto.TypeFullName, scheduleDto.FriendlyName, scheduleDto.TimeLapse, scheduleDto.TimeLapseMeasurement, scheduleDto.RetryTimeLapse, scheduleDto.RetryTimeLapseMeasurement, scheduleDto.RetainHistoryNum, scheduleDto.AttachToEvent, scheduleDto.CatchUpEnabled, scheduleDto.Enabled, scheduleDto.ObjectDependencies, scheduleDto.ScheduleStartDate, scheduleDto.Servers); SchedulingProvider.Instance().AddSchedule(scheduleItem); Result.ScheduleItems = SchedulerManager.GetScheduleItems(0, 14); Result.Status = "Success"; ActionResult.Data = Result; ActionResult.Message = Localization.GetString("ScheduleItemCreateSuccess", Components.Constants.TaskSchedulerResourcesFile); } } catch (Exception exc) { Exceptions.LogException(exc); Result.Status = exc.Message.ToString(); ActionResult.AddError("ScheduleItemCreateError", Localization.GetString("ScheduleItemCreateError", Components.Constants.TaskSchedulerResourcesFile)); } return(ActionResult); }
internal static string Run_Schedule(ScheduleDto scheduleDto) { try { ScheduleItem scheduleItem = _controller.CreateScheduleItem(scheduleDto.TypeFullName, scheduleDto.FriendlyName, scheduleDto.TimeLapse, scheduleDto.TimeLapseMeasurement, scheduleDto.RetryTimeLapse, scheduleDto.RetryTimeLapseMeasurement, scheduleDto.RetainHistoryNum, scheduleDto.AttachToEvent, scheduleDto.CatchUpEnabled, scheduleDto.Enabled, scheduleDto.ObjectDependencies, scheduleDto.ScheduleStartDate, scheduleDto.Servers); scheduleItem.ScheduleID = scheduleDto.ScheduleID; SchedulingProvider.Instance().RunScheduleItemNow(scheduleItem, true); if (SchedulingProvider.SchedulerMode == SchedulerMode.TIMER_METHOD) { SchedulingProvider.Instance().ReStart("Change made to schedule."); } return("Success"); } catch (Exception exc) { Exceptions.LogException(exc); return(exc.Message.ToString()); } }