/// <summary>
        /// 任务操作
        /// </summary>
        /// <returns></returns>
        public ActionResult OperateJob()
        {
            QuartzDataHandler quartzDataHandler = QuartzDataHandler.GetInstance();
            string            json         = string.Empty;
            string            op           = Request["op"];
            string            jobName      = Request.Params["jobName"];
            string            jobGroupName = Request.Params["jobGroupName"];
            string            errMsg       = string.Empty;

            switch (op)
            {
            case "DeleteJob":     //删除任务
                errMsg = quartzDataHandler.DeleteJob(jobName, jobGroupName);
                break;

            case "ExecuteJob":     //立即执行任务
                errMsg = quartzDataHandler.RunJobNow(jobName, jobGroupName);
                break;

            case "PauseJob":     //暂停任务
                errMsg = quartzDataHandler.PauseJob(jobName, jobGroupName);
                break;

            case "ResumeJob":     //恢复任务
                errMsg = quartzDataHandler.ResumeJob(jobName, jobGroupName);
                break;
            }
            return(Json(new ReturnResult()
            {
                Success = string.IsNullOrEmpty(errMsg), Message = errMsg
            }));
        }
        /// <summary>
        /// 获取计划组
        /// </summary>
        /// <returns></returns>
        public ActionResult GetPlanGroupList()
        {
            QuartzDataHandler quartzDataHandler = QuartzDataHandler.GetInstance();
            List <string>     list = quartzDataHandler.GetAllTriggerGroupName();
            var obj = from o in list select new { id = o, text = o };

            return(Json(obj));
        }
        /// <summary>
        /// 保存任务
        /// </summary>
        /// <param name="jobInfo">任务JSON数据</param>
        /// <returns></returns>
        public ActionResult SaveJob(string jobInfo)
        {
            string            errMsg            = string.Empty;
            QuartzDataHandler quartzDataHandler = QuartzDataHandler.GetInstance();

            errMsg = quartzDataHandler.AddJob(jobInfo);
            return(Json(new ReturnResult()
            {
                Success = string.IsNullOrEmpty(errMsg), Message = errMsg
            }));
        }
        /// <summary>
        /// 获取任务列表
        /// </summary>
        /// <returns></returns>
        public ActionResult GetJobList()
        {
            QuartzDataHandler quartzDataHandler      = QuartzDataHandler.GetInstance();
            string            errMsg                 = string.Empty;
            List <Dictionary <string, string> > jobs = quartzDataHandler.GetAllJob(out errMsg);
            object obj = new
            {
                total = jobs.Count,
                rows  = jobs
            };

            return(Json(obj));
        }
        /// <summary>
        /// 获取任务计划列表
        /// </summary>
        /// <returns></returns>
        public ActionResult GetJobPlanList()
        {
            string            op                     = Request["op"];
            string            jobName                = Request.Params["jobName"];
            string            jobGroupName           = Request.Params["jobGroupName"];
            QuartzDataHandler quartzDataHandler      = QuartzDataHandler.GetInstance();
            List <Dictionary <string, string> > jobs = quartzDataHandler.GetJobPlan(jobName, jobGroupName, op);
            object obj = new
            {
                total = jobs.Count,
                rows  = jobs
            };

            return(Json(obj));
        }
 /// <summary>
 /// 获取任务调度信息
 /// </summary>
 /// <returns></returns>
 public ActionResult GetSchedulerInfo()
 {
     try
     {
         QuartzDataHandler quartzDataHandler = QuartzDataHandler.GetInstance();
         var obj = new
         {
             SchedulerName          = quartzDataHandler.SchedulerName,
             SchedulerInstanceID    = quartzDataHandler.SchedulerInstanceID,
             SchedulerIsRemote      = quartzDataHandler.SchedulerIsRemote.ToString().ToLower(),
             SchedulerType          = quartzDataHandler.SchedulerType,
             SchedulerStartTime     = quartzDataHandler.SchedulerStartTime.ToString("yyyy-MM-dd HH:mm:ss"),
             SchedulerRunningStatus = quartzDataHandler.SchedulerRunningStatus,
             JobTotal        = quartzDataHandler.JobTotal,
             JobExecuteTotal = quartzDataHandler.JobExecuteTotal
         };
         return(Json(obj));
     }
     catch { }
     return(Json(null));
 }