Example #1
0
        /// <summary> 登録処理</summary>
        /// <param name="sender">源</param>
        /// <param name="e">イベント</param>
        private void btnToroku_Click(object sender, RoutedEventArgs e)
        {
            // 入力チェック
            if (!InputCheck())
            {
                return;
            }

            //処理前現在データで履歴を作成
            ((jp.co.ftf.jobcontroller.JobController.Form.JobEdit.Container)_myJob.Container).CreateHistData();

            // 入力されたジョブID
            string newJobId = txtJobId.Text;
            // 入力されたジョブ名
            string newJobNm = txtJobName.Text;

            // ジョブ管理テーブルの更新
            DataRow[] drJobCon = _myJob.Container.JobControlTable.Select("job_id='" + OldJobId + "'");
            if (drJobCon != null && drJobCon.Length > 0)
            {
                drJobCon[0]["job_id"]   = newJobId;
                drJobCon[0]["job_name"] = newJobNm;
            }

            // 終了アイコン設定テーブルの更新
            DataRow[] drEndIcon = _myJob.Container.IconEndTable.Select("job_id='" + OldJobId + "'");
            if (drEndIcon != null && drEndIcon.Length > 0)
            {
                drEndIcon[0]["job_id"] = newJobId;
                if (cbJobNetStop.IsChecked == true)
                {
                    drEndIcon[0]["jobnet_stop_flag"] = "1";
                }
                else
                {
                    drEndIcon[0]["jobnet_stop_flag"] = "0";
                }
                if (CheckUtil.IsNullOrEmpty(txtEndCode.Text))
                {
                    drEndIcon[0]["jobnet_stop_code"] = "0";
                }
                else
                {
                    drEndIcon[0]["jobnet_stop_code"] = txtEndCode.Text;
                }
            }

            // ジョブIDが変更された場合、フロー管理テーブルを更新
            if (!_oldJobId.Equals(newJobId))
            {
                CommonUtil.UpdateFlowForJobId(_myJob.Container.FlowControlTable, _oldJobId, newJobId);
            }

            // 画面再表示
            _myJob.Container.JobItems.Remove(_oldJobId);
            _myJob.Container.JobItems.Add(newJobId, _myJob);
            _myJob.JobId   = newJobId;
            _myJob.JobName = newJobNm;
            _myJob.Container.SetedJobIds[_myJob.JobId] = "1";
            this.Close();
        }
        /// <summary>登録処理</summary>
        private void Toroku()
        {
            // 入力チェック
            if (!InputCheck())
            {
                return;
            }

            //処理前現在データで履歴を作成
            ((jp.co.ftf.jobcontroller.JobController.Form.JobEdit.Container)_myJob.Container).CreateHistData();

            // 入力されたジョブID
            string newJobId = txtJobId.Text;
            // 入力されたジョブ名
            string newJobNm = txtJobName.Text;

            //added by YAMA 2014/08/15
            // 実行ユーザー
            string newRunUser = txtRunUser.Text;
            // 実行ユーザーのパスワード
            string newRunUserPW = txtRunUserPW.Text;

            // ジョブ管理テーブルの更新
            DataRow[] rowJobCon = _myJob.Container.JobControlTable.Select("job_id='" + _oldJobId + "'");
            if (rowJobCon != null && rowJobCon.Length > 0)
            {
                rowJobCon[0]["job_id"]   = newJobId;
                rowJobCon[0]["job_name"] = newJobNm;

                if (newRunUser.Equals(""))
                {
                    rowJobCon[0]["run_user"]          = null;
                    rowJobCon[0]["run_user_password"] = null;
                }
                else if (newRunUserPW.Equals(""))
                {
                    //added by YAMA 2014/09/26
                    rowJobCon[0]["run_user"] = newRunUser;

                    rowJobCon[0]["run_user_password"] = null;
                }
                else
                {
                    rowJobCon[0]["run_user"]          = newRunUser;
                    rowJobCon[0]["run_user_password"] = ConvertUtil.getPasswordFromString(newRunUserPW);
                }
            }

            // ジョブアイコン設定テーブルの更新
            DataRow[] rowIconJob = _myJob.Container.IconJobTable.Select("job_id='" + _oldJobId + "'");
            if (rowIconJob != null && rowIconJob.Length > 0)
            {
                // ジョブID
                rowIconJob[0]["job_id"] = newJobId;
                // ホストフラグ
                if (rbHostName.IsChecked == true)
                {
                    rowIconJob[0]["host_flag"] = "0";
                    // ホスト名
                    rowIconJob[0]["host_name"] = Convert.ToString(combHostName.SelectedValue);
                }
                else
                {
                    rowIconJob[0]["host_flag"] = "1";
                    // ホスト名
                    rowIconJob[0]["host_name"] = textVariableName.Text;
                }
                // 停止コマンドフラグ
                if (cbStop.IsChecked == false)
                {
                    rowIconJob[0]["stop_flag"] = "0";
                }
                else
                {
                    rowIconJob[0]["stop_flag"] = "1";
                }
                // コマンドタイプ
                rowIconJob[0]["command_type"] = "0";

                // タイムアウト警告
                if (!CheckUtil.IsNullOrEmpty(txtTimeOut.Text))
                {
                    rowIconJob[0]["timeout"] = txtTimeOut.Text;
                }
                else
                {
                    rowIconJob[0]["timeout"] = Convert.DBNull;
                }
                // タイムアウトの場合実行内容
                // 0 警告のみ
                // 1 job stop
                // 2 job skip
                rowIconJob[0]["timeout_run_type"] = combRunType.SelectedIndex;

                // ジョブ停止コード
                rowIconJob[0]["stop_code"] = txtStopCode.Text;

                //added by YAMA 2014/02/19
                // 強制実行フラグ
                if (cbForce.IsChecked == false)
                {
                    rowJobCon[0]["force_flag"] = "0";
                }
                else
                {
                    rowJobCon[0]["force_flag"] = "1";
                }

                //added by YAMA 2014/09/24  (ジョブエラー継続)
                // 処理継続
                if (cbContinue.IsChecked == false)
                {
                    rowJobCon[0]["continue_flag"] = "0";    // アイコン停止(初期値)
                }
                else
                {
                    rowJobCon[0]["continue_flag"] = "1";    // 処理継続
                }
            }

            // ジョブコマンド設定テーブルの削除
            DataRow[] rowScriptCmd = _myJob.Container.JobCommandTable.Select("job_id='" + _oldJobId + "'");
            if (rowScriptCmd != null && rowScriptCmd.Length > 0)
            {
                for (int i = 0; i < rowScriptCmd.Length; i++)
                {
                    rowScriptCmd[i].Delete();
                }
            }

            // ジョブコマンド設定テーブルの登録
            // 停止コマンド
            //added by YAMA 2014/11/12
            //if (cbStop.IsChecked == true)
            string stopCmd = Convert.ToString(txtStopCmd.Text);

            if (!CheckUtil.IsNullOrEmpty(stopCmd))
            {
                // 停止コマンドの登録
                DataRow rowAdd = _myJob.Container.JobCommandTable.NewRow();
                rowAdd["jobnet_id"]   = _myJob.Container.JobnetId;
                rowAdd["job_id"]      = newJobId;
                rowAdd["update_date"] = _myJob.Container.TmpUpdDate;
                rowAdd["command_cls"] = 2;
                rowAdd["command"]     = txtStopCmd.Text;
                _myJob.Container.JobCommandTable.Rows.Add(rowAdd);
            }

            // スクリプト、コマンドの登録
            DataRow rowScriptCmdAdd = _myJob.Container.JobCommandTable.NewRow();

            rowScriptCmdAdd["jobnet_id"]   = _myJob.Container.JobnetId;
            rowScriptCmdAdd["job_id"]      = newJobId;
            rowScriptCmdAdd["update_date"] = _myJob.Container.TmpUpdDate;

            rowScriptCmdAdd["command_cls"] = 0;
            rowScriptCmdAdd["command"]     = txtCmd.Text;

            _myJob.Container.JobCommandTable.Rows.Add(rowScriptCmdAdd);


            // ジョブ変数設定テーブルの更新
            DataRow[] rows = _valueJobTable.Select("job_id='" + OldJobId + "'");
            Array.ForEach <DataRow>(rows, row => _valueJobTable.Rows.Remove(row));
            DataRow[] rowViews = _gridViewTable.Select("job_id='" + _oldJobId + "'");

            if (rowViews != null && rowViews.Length > 0)
            {
                foreach (DataRow rowView in rowViews)
                {
                    DataRow rowAdd = _valueJobTable.NewRow();
                    rowAdd["jobnet_id"]   = rowView["jobnet_id"];
                    rowAdd["job_id"]      = newJobId;
                    rowAdd["update_date"] = rowView["update_date"];
                    rowAdd["value_name"]  = rowView["value_name"];
                    rowAdd["value"]       = rowView["value"];
                    _valueJobTable.Rows.Add(rowAdd);
                }
            }

            // ジョブコントローラ変数設定テーブルの更新
            DataRow[] rowValueJobCon = _valueJobConTable.Select("job_id='" + _oldJobId + "'");
            // 既存データの削除
            Array.ForEach <DataRow>(rowValueJobCon, row => _valueJobConTable.Rows.Remove(row));

            // 入力データの登録
            foreach (CheckBox item in lstbJobCon.Items)
            {
                if (item.IsChecked == true)
                {
                    // ジョブコントローラ変数名
                    string valueName = Convert.ToString(item.Content);
                    valueName = valueName.Replace("__", "_");

                    DataRow rowAdd = _valueJobConTable.NewRow();
                    rowAdd["jobnet_id"]   = _myJob.Container.JobnetId;
                    rowAdd["job_id"]      = newJobId;
                    rowAdd["value_name"]  = valueName;
                    rowAdd["update_date"] = _myJob.Container.TmpUpdDate;
                    _valueJobConTable.Rows.Add(rowAdd);
                }
            }

            // ジョブIDが変更された場合、フロー管理テーブルを更新
            if (!_oldJobId.Equals(newJobId))
            {
                CommonUtil.UpdateFlowForJobId(_myJob.Container.FlowControlTable, _oldJobId, newJobId);
            }

            // 画面再表示
            _myJob.Container.JobItems.Remove(_oldJobId);
            _myJob.Container.JobItems.Add(newJobId, _myJob);
            _myJob.JobId   = newJobId;
            _myJob.JobName = newJobNm;

            _myJob.Container.SetedJobIds[_myJob.JobId] = "1";
            this.Close();
        }