Пример #1
0
        public JsonResult EditCalendar(CalendarRequestEntity calendarReq)
        {
            try
            {
                var calendar = scheduler.GetCalendar(calendarReq.calendarname);

                //获取calendar
                if (calendar == null)
                {
                    return(Json("当前scheduler中没有calendar数据,请先进行添加"));
                }

                if (calendarReq.calendartype == "DailyCalendar")
                {
                    var segment   = calendarReq.selectdate.Split(',');
                    var starttime = DateBuilder.DateOf(Convert.ToInt32(segment[0]), 0, 0).DateTime;
                    var endtime   = DateBuilder.DateOf(Convert.ToInt32(segment[1]), 0, 0).DateTime;

                    DailyCalendar dailyCalendar = new DailyCalendar(starttime, endtime);

                    //这里的add,是可以更新指定的 calendarname,还可以更新 trigger 触发器
                    scheduler.AddCalendar(calendarReq.calendarname, dailyCalendar, true, true);
                }

                return(Json(1));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Пример #2
0
        public JsonResult AddCalendar(CalendarRequestEntity calendarReq)
        {
            try
            {
                var calendar = scheduler.GetCalendar(calendarReq.calendarname);

                //获取calendar
                if (calendar != null)
                {
                    return(Json("已经有同名的calendar添加,请勿添加"));
                }

                if (calendarReq.calendartype == "DailyCalendar")
                {
                    var segment   = calendarReq.selectdate.Split(',');
                    var starttime = DateBuilder.DateOf(Convert.ToInt32(segment[0]), 0, 0).DateTime;
                    var endtime   = DateBuilder.DateOf(Convert.ToInt32(segment[1]), 0, 0).DateTime;

                    DailyCalendar dailyCalendar = new DailyCalendar(starttime, endtime);

                    scheduler.AddCalendar(calendarReq.calendarname, dailyCalendar, true, true);

                    //将这个calendar设置给trigger
                    var tkeys = calendarReq.triggerkey.Split('.');

                    var trigger = scheduler.GetTrigger(new TriggerKey(tkeys[1], tkeys[0]));

                    if (trigger != null)
                    {
                        var newTrigger = trigger.GetTriggerBuilder().ModifiedByCalendar(calendarReq.calendarname).Build();

                        scheduler.RescheduleJob(trigger.Key, newTrigger);
                    }
                }

                return(Json(1));
            }
            catch (Exception ex)
            {
                throw;
            }
        }