void SaveTask() { TaskItem task = new TaskItem(); int id; if (!int.TryParse(Request.Form["id"], out id)) { id = -1;// 表示新增 } task.id = id; task.desc = Request.Form["desc"]; string exepath = Request.Form["exepath"]; // ReSharper disable AssignNullToNotNullAttribute // 防止出现 c:\\\\a.exe 或 c:/a.exe这样的路径,统一格式化成:c:\a.exe形式 exepath = Path.Combine(Path.GetDirectoryName(exepath), Path.GetFileName(exepath)); // ReSharper restore AssignNullToNotNullAttribute task.exepath = exepath; task.exepara = Request.Form["exepara"]; task.taskpara = Request.Form["taskpara"]; int runtype; if (!int.TryParse(Request.Form["runtype"], out runtype)) { runtype = 0; } task.runtype = (RunType)runtype; string msg; TaskManage tasks = TaskClient.SaveTask(Request.Form["server"], 23244, task, out msg); if (tasks == null) { Response.Write(msg); return; } OutPutTasks(tasks); }
private void dgvTask_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } DataGridView dgv = (DataGridView)sender; #region 点击删除按钮 if (e.ColumnIndex == COLIDX_DEL) { if (e.RowIndex < 0 || e.RowIndex >= dgv.Rows.Count - 1)//Rows.Count - 1是不让点击未提交的新行 { return; } var row = dgv.Rows[e.RowIndex]; string tmp = Convert.ToString(row.Cells[COLIDX_ID].Value); int id; if (string.IsNullOrEmpty(tmp) || !int.TryParse(tmp, out id)) { MessageBox.Show("未保存的数据,不能删除"); return; } if (MessageBox.Show("确认要删除吗?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { if (isSocketAccess) { // 通过Socket删除 string str = TaskClient.DelTaskById(txtServerIP.Text, int.Parse(txtPort.Text), id); if (!string.IsNullOrEmpty(str)) { MessageBox.Show(str); return; } SetSocketStatus("删除成功 "); MessageBox.Show(str); } else { // 本地文件删除 dbaccess.DelTaskById(id); } dgv.Rows.RemoveAt(e.RowIndex); dgv.ClearSelection(); } return; } #endregion #region 点击保存按钮 if (e.ColumnIndex == COLIDX_SAVE) { if (e.RowIndex < 0 || e.RowIndex >= dgv.Rows.Count - 1)//Rows.Count - 1是不让点击未提交的新行 { return; } var row = dgv.Rows[e.RowIndex]; TaskItem task = GetRowData(row); if (task != null) { if (isSocketAccess) { // 通过Socket保存 string msg; TaskManage tasks = TaskClient.SaveTask(txtServerIP.Text, int.Parse(txtPort.Text), task, out msg); if (tasks == null) { MessageBox.Show(msg); return; } SetSocketStatus("保存成功 \r\n服务器的时间:" + tasks.serverTime + "\r\n上次轮询时间:" + tasks.lastRunTime); if (tasks.tasks != null) { GetTaskToView(dgvTask, tasks.tasks); } } else { // 本地文件保存 if (task.id <= 0) { dbaccess.AddTask(task); } else { dbaccess.UpdateTask(task); } GetTaskToView(dgvTask); } } return; } #endregion #region 点击定时参数列 if (e.ColumnIndex == COLIDX_TYPEPARA) { if (e.RowIndex < 0 || e.RowIndex >= dgv.Rows.Count - 1) //Rows.Count - 1是不让点击未提交的新行 { return; } var row = dgv.Rows[e.RowIndex]; //TaskItem task = GetRowData(row); //string typepara = Convert.ToString(row.Cells[e.ColumnIndex].Value).Trim(); var cell = row.Cells[e.ColumnIndex]; string runtypeStr = Convert.ToString(row.Cells[COLIDX_TYPE].Value).Trim(); RunType runtype = (from pair in GetRunTypeDesc() where pair.Value == runtypeStr select(RunType) pair.Key).FirstOrDefault(); switch (runtype) { case RunType.PerDay: case RunType.PerWeek: case RunType.PerMonth: new ParaSet(runtype, cell).ShowDialog(this); return; default: return; } //return; } #endregion }