예제 #1
0
        /// <summary>
        /// 刷新定时任务表格中某个定时任务的显示数据
        /// </summary>
        /// <param name="timerTask">已绑定表格的定时任务对象</param>
        private void RefreshTimerTask(AbstractTimerTask timerTask)
        {
            int index = timerTaskList.IndexOf(timerTask);

            timerTaskDataTable.Rows[index]["TimerName"]      = timerTask.TimerName;
            timerTaskDataTable.Rows[index]["IntervalTime"]   = timerTask.IntervalTime;
            timerTaskDataTable.Rows[index]["ExecStatusName"] = timerTask.ExecStatusName;
        }
예제 #2
0
        /// <summary>
        /// 修改选中的定时任务的状态
        /// </summary>
        /// <param name="execStatus">执行状态</param>
        private void ChangeTimerTaskStatus(ExecStatus execStatus)
        {
            string changeTxt = "开启";

            if (execStatus == ExecStatus.PausedExec)
            {
                changeTxt = "暂停";
            }
            if (timerDataGridView.SelectedRows.Count == 0)
            {
                MessageBox.Show(timerDataGridView, $"请选择要{changeTxt}的定时任务", "定时任务提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            for (int i = 0; i < timerDataGridView.SelectedRows.Count; i++)
            {
                DataGridViewRow row   = timerDataGridView.SelectedRows[i];
                int             index = timerDataGridView.Rows.IndexOf(row);
                if (index >= timerTaskList.Count)
                {
                    MessageBox.Show(this, "请选择有效的定时任务", "定时任务提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    continue;
                }
                AbstractTimerTask timerTask = timerTaskList[index];
                if (timerTask.ExecStatus == ExecStatus.Working)
                {
                    console.Warn($"请等到【{timerTask.TimerName}】执行完成,再{changeTxt}。");
                    continue;
                }
                else if (timerTask.ExecStatus == ExecStatus.TerminatedExec)
                {
                    console.Warn($"【{timerTask.TimerName}】已终止执行,无法{changeTxt}。");
                    continue;
                }
                timerTask.ExecStatus = execStatus;
                RefreshTimerTask(timerTask);
            }
        }