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);
        }
Exemplo n.º 2
0
        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());
            }
        }