Esempio n. 1
0
        static void Update(TriggersModel value)
        {
            //Сохраняю схему в json файл
            JsonSchemaToFileWriter.SaveSchemaToFile(value, FilePath);

            _uidDict = value;
        }
Esempio n. 2
0
        public ActionResult TriggerSave(TriggersModel savemodel)
        {
            #region  拉初始化
            var triggerStateList = new List <SelectListItem>();
            triggerStateList.Insert(0, new SelectListItem {
                Text = "等待", Value = "WAITING"
            });
            triggerStateList.Insert(1, new SelectListItem {
                Text = "暂停", Value = "PAUSED"
            });
            ViewData["triggerStateList"] = triggerStateList;

            var triggerTypeList = new List <SelectListItem>();
            triggerTypeList.Insert(0, new SelectListItem {
                Text = "简单触发器", Value = "SIMPLE"
            });
            triggerTypeList.Insert(1, new SelectListItem {
                Text = "CRON触发器", Value = "CRON"
            });
            ViewData["triggerTypeList"] = triggerTypeList;

            var triggersGroupList = TriggersGroupEnum.TriggersGroup1.ToSelectList();
            triggersGroupList.Insert(0, new SelectListItem {
                Text = "请选择", Value = string.Empty
            });
            ViewData["triggersGroupList"] = triggersGroupList;

            var jobList = _job.GetListJobName().ToSelectList(c => c.JOB_NAME, c => c.JOB_NAME);
            jobList.Insert(0, new SelectListItem {
                Text = "请选择", Value = string.Empty
            });
            ViewData["jobList"] = jobList;
            #endregion

            var model    = _job.GetTriggers(savemodel.TRIGGER_NAME);
            var jobModel = _job.GetJob(savemodel.JOB_NAME);
            if (savemodel.TRIGGER_TYPE == "SIMPLE" && savemodel.REPEAT_INTERVAL <= 0)
            {
                ModelState.AddModelError("JOB_NAME", "请填写重复间隔");
                return(View(savemodel));
            }
            if (model == null)
            {
                if (ModelState.IsValid)
                {
                    model = new QRTZ_TRIGGERSDto
                    {
                        SCHED_NAME      = jobModel.SCHED_NAME,
                        TRIGGER_NAME    = savemodel.TRIGGER_NAME,
                        TRIGGER_GROUP   = savemodel.TRIGGER_GROUP,
                        JOB_NAME        = jobModel.JOB_NAME,
                        JOB_GROUP       = jobModel.JOB_GROUP,
                        DESCRIPTION     = savemodel.DESCRIPTION,
                        NEXT_FIRE_TIME  = savemodel.START_TIME.AddHours(-8).AddMilliseconds(savemodel.REPEAT_INTERVAL * 60 * 1000).Ticks,
                        PRIORITY        = savemodel.PRIORITY,
                        TRIGGER_STATE   = savemodel.TRIGGER_STATE,
                        TRIGGER_TYPE    = savemodel.TRIGGER_TYPE,
                        START_TIME      = savemodel.START_TIME.AddHours(-8).Ticks,
                        CRON_EXPRESSION = savemodel.CRON_EXPRESSION,
                        REPEAT_COUNT    = savemodel.REPEAT_COUNT,
                        REPEAT_INTERVAL = Convert.ToInt64(savemodel.REPEAT_INTERVAL * 60 * 1000)
                    };
                    if (savemodel.END_TIME != null)
                    {
                        model.END_TIME = Convert.ToDateTime(savemodel.END_TIME).AddHours(-8).Ticks;
                    }
                    var result = _job.AddTriggers(model);
                    if (result.Ret == -1)
                    {
                        ModelState.AddModelError("JOB_NAME", result.Msg);
                        return(View(savemodel));
                    }
                    return(CloseParentBox(result.Msg, "/Job/TriggerList"));
                }
            }
            else
            {
                model.DESCRIPTION     = savemodel.DESCRIPTION;
                model.PRIORITY        = savemodel.PRIORITY;
                model.TRIGGER_STATE   = savemodel.TRIGGER_STATE;
                model.TRIGGER_TYPE    = savemodel.TRIGGER_TYPE;
                model.START_TIME      = savemodel.START_TIME.AddHours(-8).Ticks;
                model.CRON_EXPRESSION = savemodel.CRON_EXPRESSION;
                model.REPEAT_COUNT    = savemodel.REPEAT_COUNT;
                model.REPEAT_INTERVAL = Convert.ToInt64(savemodel.REPEAT_INTERVAL * 60 * 1000);
                if (savemodel.END_TIME != null)
                {
                    model.END_TIME = Convert.ToDateTime(savemodel.END_TIME).AddHours(-8).Ticks;
                }
                var result = _job.UpdateTriggers(model);
                if (result.Ret == -1)
                {
                    ModelState.AddModelError("JOB_NAME", result.Msg);
                    return(View(savemodel));
                }
                return(CloseParentBox(result.Msg, "/Job/TriggerList"));
            }
            return(View(savemodel));
        }
Esempio n. 3
0
        public ActionResult TriggerSave(string tname)
        {
            #region  拉初始化
            var triggerStateList = new List <SelectListItem>();
            triggerStateList.Insert(0, new SelectListItem {
                Text = "等待", Value = "WAITING"
            });
            triggerStateList.Insert(1, new SelectListItem {
                Text = "暂停", Value = "PAUSED"
            });
            ViewData["triggerStateList"] = triggerStateList;

            var triggerTypeList = new List <SelectListItem>();
            triggerTypeList.Insert(0, new SelectListItem {
                Text = "简单触发器", Value = "SIMPLE"
            });
            triggerTypeList.Insert(1, new SelectListItem {
                Text = "CRON触发器", Value = "CRON"
            });
            ViewData["triggerTypeList"] = triggerTypeList;

            var triggersGroupList = TriggersGroupEnum.TriggersGroup1.ToSelectList();
            triggersGroupList.Insert(0, new SelectListItem {
                Text = "请选择", Value = string.Empty
            });
            ViewData["triggersGroupList"] = triggersGroupList;

            var jobList = _job.GetListJobName().ToSelectList(c => c.JOB_NAME, c => c.JOB_NAME);
            jobList.Insert(0, new SelectListItem {
                Text = "请选择", Value = string.Empty
            });
            ViewData["jobList"] = jobList;
            #endregion

            var model = new TriggersModel();
            if (!string.IsNullOrEmpty(tname))
            {
                var trigger = _job.GetTriggers(tname);
                if (trigger == null)
                {
                    return(AlertMsg("参数错误", HttpContext.Request.UrlReferrer.PathAndQuery));
                }

                model.TRIGGER_NAME    = trigger.TRIGGER_NAME;
                model.TRIGGER_GROUP   = trigger.TRIGGER_GROUP;
                model.JOB_NAME        = trigger.JOB_NAME;
                model.PRIORITY        = trigger.PRIORITY;
                model.DESCRIPTION     = trigger.DESCRIPTION;
                model.TRIGGER_STATE   = trigger.TRIGGER_STATE;
                model.TRIGGER_TYPE    = trigger.TRIGGER_TYPE;
                model.CRON_EXPRESSION = trigger.CRON_EXPRESSION;
                model.REPEAT_COUNT    = trigger.REPEAT_COUNT;
                model.REPEAT_INTERVAL = trigger.REPEAT_INTERVAL / 60 / 1000.00;
                model.START_TIME      = new DateTime(Convert.ToInt64(trigger.START_TIME)).AddHours(8);
                if (trigger.END_TIME != null)
                {
                    model.END_TIME = new DateTime(Convert.ToInt64(trigger.END_TIME)).AddHours(8);
                }
            }
            else
            {
                model.START_TIME      = DateTime.Now;
                model.REPEAT_COUNT    = -1;//无限循环
                model.REPEAT_INTERVAL = 5;
            }
            return(View(model));
        }