コード例 #1
0
        void PopulateForm()
        {
            dtpCompletedDateTime.Format = dtpStartedDateTime.Format = dtpStatusDateTime.Format = dtpWaitForDateTime.Format
                                                                                                     = DateTimePickerFormat.Time;
            if (_taskQueueItem == null) // add new item
            {
                btnSave.Text = "Add";
                tbTaskQueueCode.Text
                    = _daMgr.GetNextUniqueId(TaskProcessing.Constants.TaskQueueCode, 1, Int32.MaxValue, 1).ToString();
                dtpCompletedDateTime.Enabled = dtpStartedDateTime.Enabled = dtpWaitForDateTime.Enabled = false;
                cbCompletedDtNull.Checked    = cbStartedDtNull.Checked = cbWaitedDtNull.Checked = true;
                dtpStatusDateTime.Visible    = lblStatusDateTime.Visible = false;
                cbWaitForTasks.Enabled       = btnDelDepTask.Enabled = btnAddDepTask.Enabled = btnChangeDepTask.Enabled = false;
            }
            else // change item
            {
                TaskProcessing.TaskProcessingQueue.StatusCodeEnum status =
                    (TaskProcessing.TaskProcessingQueue.StatusCodeEnum)
                    Convert.ToByte(_taskQueueItem[TaskProcessing.Constants.StatusCode]);
                rbTPQFailed.Enabled = rbTPQInProcess.Enabled = rbTPQSucceeded.Enabled = false;

                if (status == TaskProcessing.TaskProcessingQueue.StatusCodeEnum.InProcess)
                {
                    btnSave.Enabled = false;
                }
                else
                {
                    btnSave.Enabled = true;
                }

                btnSave.Text         = "Change";
                tbTaskQueueCode.Text = _taskQueueItem[TaskProcessing.Constants.TaskQueueCode].ToString();

                LoadTaskIds();
                cmbTaskId.SelectedItem = _taskQueueItem[TaskProcessing.Constants.TaskId].ToString();
                nudPriority.Value      = Convert.ToByte(_taskQueueItem[TaskProcessing.Constants.PriorityCode]);

                if (_taskQueueItem[TaskProcessing.Constants.CompletedDateTime] != DBNull.Value)
                {
                    dtpCompletedDateTime.Value = Convert.ToDateTime(_taskQueueItem[TaskProcessing.Constants.CompletedDateTime]);
                }
                else
                {
                    cbCompletedDtNull.Checked    = true;
                    dtpCompletedDateTime.Enabled = false;
                }

                dtpStatusDateTime.Value = Convert.ToDateTime(_taskQueueItem[TaskProcessing.Constants.StatusDateTime]);

                if (_taskQueueItem[TaskProcessing.Constants.StartedDateTime] != DBNull.Value)
                {
                    dtpStartedDateTime.Value = Convert.ToDateTime(_taskQueueItem[TaskProcessing.Constants.StartedDateTime]);
                }
                else
                {
                    cbStartedDtNull.Checked    = true;
                    dtpStartedDateTime.Enabled = false;
                }

                if (_taskQueueItem[TaskProcessing.Constants.WaitForDateTime] != DBNull.Value)
                {
                    dtpWaitForDateTime.Value = Convert.ToDateTime(_taskQueueItem[TaskProcessing.Constants.WaitForDateTime]);
                }
                else
                {
                    cbWaitedDtNull.Checked     = true;
                    dtpWaitForDateTime.Enabled = false;
                }

                tbTaskParams.Text    = _taskQueueItem[TaskProcessing.Constants.TaskParameters].ToString();
                tbTaskRemarks.Text   = _taskQueueItem[TaskProcessing.Constants.TaskRemark].ToString();
                tbWaitForEngine.Text = _taskQueueItem[TaskProcessing.Constants.WaitForEngineId].ToString();
                tbWaitForConfig.Text = _taskQueueItem[TaskProcessing.Constants.WaitForConfigId].ToString();

                if (_taskQueueItem[TaskProcessing.Constants.WaitForNoUsers] != DBNull.Value)
                {
                    cbWaitNoUsers.Checked = Convert.ToBoolean(_taskQueueItem[TaskProcessing.Constants.WaitForNoUsers]);
                }

                cbWaitForTasks.Checked = Convert.ToBoolean(_taskQueueItem[TaskProcessing.Constants.WaitForTasks]);
                btnAddDepTask.Enabled  = btnChangeDepTask.Enabled = btnDelDepTask.Enabled = cbWaitForTasks.Checked;

                tbIntervalCount.Text = _taskQueueItem[TaskProcessing.Constants.IntervalCount].ToString();
                if (_taskQueueItem[TaskProcessing.Constants.IntervalSecondsRequeue] != DBNull.Value)
                {
                    nudIntervalRequeueSec.Value = Convert.ToInt32(_taskQueueItem[TaskProcessing.Constants.IntervalSecondsRequeue]);
                }
            }
        }
コード例 #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (cmbTaskId.SelectedItem == null)
            {
                MessageBox.Show("Please selet TaskId");
                cmbTaskId.Focus();
                return;
            }
            if (_taskQueueItem == null) // add
            {
                // since this was an add, there is no datarow; all fields can be added to the return container
                _editedColumns.Add(TaskProcessing.Constants.TaskQueueCode
                                   , Convert.ToInt64(tbTaskQueueCode.Text));
                _editedColumns.Add(TaskProcessing.Constants.TaskId
                                   , cmbTaskId.SelectedItem.ToString());

                _editedColumns.Add(TaskProcessing.Constants.PriorityCode
                                   , Convert.ToByte(nudPriority.Value));

                // if WaitDateTime is not null, add it
                if (!cbWaitedDtNull.Checked)
                {
                    _editedColumns.Add(TaskProcessing.Constants.WaitForDateTime
                                       , dtpWaitForDateTime.Value);
                }

                if (rbTPQNotQueued.Checked)
                {
                    _editedColumns.Add(TaskProcessing.Constants.StatusCode
                                       , Convert.ToByte(TaskProcessing.TaskProcessingQueue.StatusCodeEnum.NotQueued));
                }
                else
                {
                    _editedColumns.Add(TaskProcessing.Constants.StatusCode
                                       , Convert.ToByte(TaskProcessing.TaskProcessingQueue.StatusCodeEnum.Queued));
                }

                _editedColumns.Add(TaskProcessing.Constants.IntervalCount
                                   , 0);
                _editedColumns.Add(TaskProcessing.Constants.IntervalSecondsRequeue
                                   , nudIntervalRequeueSec.Value);

                if (!string.IsNullOrEmpty(tbTaskParams.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.TaskParameters
                                       , tbTaskParams.Text);
                }

                _editedColumns.Add(TaskProcessing.Constants.ClearParametersAtEnd
                                   , cbClearParam.Checked);

                _editedColumns.Add(TaskProcessing.Constants.WaitForNoUsers
                                   , cbWaitNoUsers.Checked);

                _editedColumns.Add(TaskProcessing.Constants.WaitForTasks
                                   , cbWaitForTasks.Checked);

                if (!string.IsNullOrEmpty(tbWaitForConfig.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.WaitForConfigId
                                       , tbWaitForConfig.Text);
                }

                if (!string.IsNullOrEmpty(tbWaitForEngine.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.WaitForEngineId
                                       , tbWaitForEngine.Text);
                }

                if (!string.IsNullOrEmpty(tbTaskRemarks.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.TaskRemark
                                       , tbTaskRemarks.Text);
                }
            }
            else // change
            {
                // since this was a change, we compare the UI control to the datarow column;
                // all changed fields can be added to the return container
                if (!_taskQueueItem[TaskProcessing.Constants.TaskQueueCode].ToString().Equals(
                        tbTaskQueueCode.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.TaskQueueCode
                                       , Convert.ToInt64(tbTaskQueueCode.Text));
                }

                if (!_taskQueueItem[TaskProcessing.Constants.TaskId].ToString().Equals(
                        cmbTaskId.SelectedItem.ToString()))
                {
                    _editedColumns.Add(TaskProcessing.Constants.TaskId
                                       , cmbTaskId.SelectedItem);
                }

                if (!_taskQueueItem[TaskProcessing.Constants.PriorityCode].ToString().Equals(
                        Convert.ToByte(nudPriority.Value).ToString()))
                {
                    _editedColumns.Add(TaskProcessing.Constants.PriorityCode
                                       , Convert.ToByte(nudPriority.Value));
                }

                TaskProcessing.TaskProcessingQueue.StatusCodeEnum status
                    = TaskProcessing.TaskProcessingQueue.StatusCodeEnum.NotQueued;
                if (rbTPQFailed.Checked)
                {
                    status = TaskProcessing.TaskProcessingQueue.StatusCodeEnum.Failed;
                }
                if (rbTPQNotQueued.Checked)
                {
                    status = TaskProcessing.TaskProcessingQueue.StatusCodeEnum.NotQueued;
                }
                if (rbTPQqueued.Checked)
                {
                    status = TaskProcessing.TaskProcessingQueue.StatusCodeEnum.Queued;
                }
                if (rbTPQSucceeded.Checked)
                {
                    status = TaskProcessing.TaskProcessingQueue.StatusCodeEnum.Succeeded;
                }
                if (!(Convert.ToByte(_taskQueueItem[TaskProcessing.Constants.StatusCode])
                      == Convert.ToByte(status)))
                {
                    _editedColumns.Add(TaskProcessing.Constants.StatusCode
                                       , Convert.ToByte(status));
                }

                if (Convert.ToDateTime(_taskQueueItem[TaskProcessing.Constants.WaitForDateTime])
                    != dtpWaitForDateTime.Value)
                {
                    _editedColumns.Add(TaskProcessing.Constants.WaitForDateTime
                                       , dtpWaitForDateTime.Value);
                }

                if ((_taskQueueItem[TaskProcessing.Constants.StartedDateTime] != DBNull.Value &&
                     (cbStartedDtNull.Checked || Convert.ToDateTime(_taskQueueItem[TaskProcessing.Constants.StartedDateTime])
                      != dtpStartedDateTime.Value)) ||
                    (_taskQueueItem[TaskProcessing.Constants.StartedDateTime] == DBNull.Value &&
                     !cbStartedDtNull.Checked))
                {
                    _editedColumns.Add(TaskProcessing.Constants.StartedDateTime
                                       , dtpStartedDateTime.Value);
                }

                if (status == TaskProcessing.TaskProcessingQueue.StatusCodeEnum.Queued)
                {
                    _editedColumns.Add(TaskProcessing.Constants.CompletedDateTime
                                       , DBNull.Value);
                }

                if (Convert.ToBoolean(_taskQueueItem[TaskProcessing.Constants.WaitForNoUsers])
                    != cbWaitNoUsers.Checked)
                {
                    _editedColumns.Add(TaskProcessing.Constants.WaitForNoUsers
                                       , cbWaitNoUsers.Checked);
                }

                if (Convert.ToBoolean(_taskQueueItem[TaskProcessing.Constants.WaitForTasks])
                    != cbWaitForTasks.Checked)
                {
                    _editedColumns.Add(TaskProcessing.Constants.WaitForTasks
                                       , cbWaitForTasks.Checked);
                }

                if (Convert.ToBoolean(_taskQueueItem[TaskProcessing.Constants.ClearParametersAtEnd])
                    != cbClearParam.Checked)
                {
                    _editedColumns.Add(TaskProcessing.Constants.ClearParametersAtEnd
                                       , cbClearParam.Checked);
                }

                if (Convert.ToInt32(_taskQueueItem[TaskProcessing.Constants.IntervalCount])
                    != Convert.ToInt32(tbIntervalCount.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.IntervalCount
                                       , Convert.ToInt32(tbIntervalCount.Text));
                }

                if (Convert.ToDateTime(_taskQueueItem[TaskProcessing.Constants.WaitForDateTime])
                    != dtpWaitForDateTime.Value)
                {
                    _editedColumns.Add(TaskProcessing.Constants.WaitForDateTime
                                       , dtpWaitForDateTime.Value);
                }

                if (Convert.ToInt32(_taskQueueItem[TaskProcessing.Constants.IntervalSecondsRequeue])
                    != Convert.ToInt32(nudIntervalRequeueSec.Value))
                {
                    _editedColumns.Add(TaskProcessing.Constants.IntervalSecondsRequeue
                                       , Convert.ToInt32(nudIntervalRequeueSec.Value));
                }

                if (!_taskQueueItem[TaskProcessing.Constants.WaitForConfigId].ToString().Equals(
                        tbWaitForConfig.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.WaitForConfigId
                                       , tbWaitForConfig.Text);
                }

                if (!_taskQueueItem[TaskProcessing.Constants.WaitForEngineId].ToString().Equals(
                        tbWaitForEngine.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.WaitForEngineId
                                       , tbWaitForEngine.Text);
                }

                if (!_taskQueueItem[TaskProcessing.Constants.TaskParameters].ToString().Equals(
                        tbTaskParams.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.TaskParameters
                                       , tbTaskParams.Text);
                }

                if (!_taskQueueItem[TaskProcessing.Constants.TaskRemark].ToString().Equals(
                        tbTaskRemarks.Text))
                {
                    _editedColumns.Add(TaskProcessing.Constants.TaskRemark
                                       , tbTaskRemarks.Text);
                }
            }
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }