コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: tytok/PlanServer
        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
        }