private void ConvertDetailToDataForm()
        {
            if (_entityListD == null)
            {
                // 行番号
                EntityPaymentCashD entity = new EntityPaymentCashD();
                entity._rec_no = 1;

                _entityListD = new ObservableCollection <EntityPaymentCashD>();
                _entityListD.Add(entity);

                return;
            }

            for (int i = 0; i <= _entityListD.Count - 1; i++)
            {
                EntityDataFormReceiptD _entityD = new EntityDataFormReceiptD();
                _entityD.id     = _entityListD[i]._id;
                _entityD.rec_no = _entityListD[i]._rec_no;
                _entityD.receipt_division_id = _entityListD[i]._payment_cash_division_id;
                _entityD.receipt_division_nm = _entityListD[i]._payment_cash_division_nm;
                _entityD.bill_site_day       = _entityListD[i]._bill_site_day;
                _entityD.price = _entityListD[i]._price;
                _entityD.memo  = _entityListD[i]._memo;
                objDataFormReceiptD.Add(_entityD);
            }
        }
        // F2ボタン(追加) クリック
        public override void btnF2_Click(object sender, RoutedEventArgs e)
        {
            if (GetUserControlFKey().btnF2.IsEnabled == false)
            {
                return;
            }
            EntityPaymentCashD __entity = new EntityPaymentCashD();

            __entity._payment_cash_division_id = this._entityH._payment_division_id;
            __entity._payment_cash_division_nm = this._entityH._payment_division_nm;
            _entityListD.Add(__entity);
            this.DataForm.CurrentIndex = _entityListD.Count - 1;
            _entityListD[_entityListD.Count - 1]._rec_no = DataForm.CurrentIndex + 1;

            GetUserControlFKey().gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.New;

            this.recAdd.Visibility = System.Windows.Visibility.Visible;
        }
        private void ConvertDataFormToDetail()
        {
            this.DataForm.CommitEdit();
            if (_entityListD != null)
            {
                _entityListD.Clear();
            }

            for (int i = 0; i <= objDataFormReceiptD.Count - 1; i++)
            {
                EntityPaymentCashD entity = new EntityPaymentCashD();
                entity._id     = objDataFormReceiptD[i].id;
                entity._rec_no = objDataFormReceiptD[i].rec_no;
                entity._payment_cash_division_id = objDataFormReceiptD[i].receipt_division_id;
                entity._payment_cash_division_nm = objDataFormReceiptD[i].receipt_division_nm;
                entity._bill_site_day            = objDataFormReceiptD[i].bill_site_day;
                entity._price = objDataFormReceiptD[i].price;
                entity._memo  = objDataFormReceiptD[i].memo;
                _entityListD.Add(entity);
            }
        }
        private void ConvertDataFormToDetail()
        {
            this.DataForm.CommitEdit();
            if (_entityListD != null) _entityListD.Clear();

            for (int i = 0; i <= objDataFormReceiptD.Count - 1; i++)
            {
                EntityPaymentCashD entity = new EntityPaymentCashD();
                entity._id = objDataFormReceiptD[i].id;
                entity._rec_no = objDataFormReceiptD[i].rec_no;
                entity._payment_cash_division_id = objDataFormReceiptD[i].receipt_division_id;
                entity._payment_cash_division_nm = objDataFormReceiptD[i].receipt_division_nm;
                entity._bill_site_day = objDataFormReceiptD[i].bill_site_day;
                entity._price = objDataFormReceiptD[i].price;
                entity._memo = objDataFormReceiptD[i].memo;
                _entityListD.Add(entity);
            }
        }
        private void ConvertDetailToDataForm()
        {
            if (_entityListD == null)
            {
                // 行番号
                EntityPaymentCashD entity = new EntityPaymentCashD();
                entity._rec_no = 1;

                _entityListD = new ObservableCollection<EntityPaymentCashD>();
                _entityListD.Add(entity);

                return;
            }

            for (int i = 0; i <= _entityListD.Count - 1; i++)
            {
                EntityDataFormReceiptD _entityD = new EntityDataFormReceiptD();
                _entityD.id = _entityListD[i]._id;
                _entityD.rec_no = _entityListD[i]._rec_no;
                _entityD.receipt_division_id = _entityListD[i]._payment_cash_division_id;
                _entityD.receipt_division_nm = _entityListD[i]._payment_cash_division_nm;
                _entityD.bill_site_day = _entityListD[i]._bill_site_day;
                _entityD.price = _entityListD[i]._price;
                _entityD.memo = _entityListD[i]._memo;
                objDataFormReceiptD.Add(_entityD);
            }
        }
        // F2ボタン(追加) クリック
        public override void btnF2_Click(object sender, RoutedEventArgs e)
        {
            if (GetUserControlFKey().btnF2.IsEnabled == false) return;
            EntityPaymentCashD __entity = new EntityPaymentCashD();
            __entity._payment_cash_division_id = this._entityH._payment_division_id;
            __entity._payment_cash_division_nm = this._entityH._payment_division_nm;
            _entityListD.Add(__entity);
            this.DataForm.CurrentIndex = _entityListD.Count - 1;
            _entityListD[_entityListD.Count - 1]._rec_no = DataForm.CurrentIndex + 1;

            GetUserControlFKey().gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.New;

            this.recAdd.Visibility = System.Windows.Visibility.Visible;
        }
        // データ取得コールバック呼出
        public override void DataSelect(int intKbn, object objList)
        {
            switch ((ExWebService.geWebServiceCallKbn)intKbn)
            {
                #region 出金

                // ヘッダ
                case _GetHeadWebServiceCallKbn:
                    // 更新
                    if (objList != null)    
                    {
                        _entityH = (EntityPaymentCashH)objList;

                        // エラー発生時
                        if (_entityH._message != "" && _entityH._message != null)
                        {
                            webService.ProcessingDlgClose();
                            this.utlNo.txtID.Text = "";
                            return;
                        } 

                        // バインド反映
                        SetBinding();

                        // 明細データ取得
                        GetDetailData(_entityH._id);
                    }
                    // 新規
                    else
                    {
                        //// 明細追加
                        //this.btnF7_Click(null, null);

                        //this.dg.ItemsSource = _entityListD;
                        //webService.ProcessingDlgClose();
                        //this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.New;
                        //this.utlNo.txtID_IsReadOnly = true;

                        webService.ProcessingDlgClose();
                        this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.New;
                        SetDatePickerNotEnabled();
                        this.utlNo.txtID_IsReadOnly = false;
                    }
                    ExBackgroundWorker.DoWork_Focus(this.datPaymentCashYmd, 10);
                    break;
                // 明細
                case _GetDetailWebServiceCallKbn:
                    // 2回設定がかかりエラーになる為
                    try
                    {
                        this.dg.ItemsSource = null;
                    }
                    catch
                    {
                        return;
                    }

                    if (objList != null)
                    {
                        _entityListD = (ObservableCollection<EntityPaymentCashD>)objList;
                    }
                    else 
                    {
                        _entityListD = null;
                    }

                    // 明細追加
                    this.btnF7_Click(null, null);

                    this.dg.ItemsSource = _entityListD;

                    // 前回情報保持
                    ConvertBeforeData(_entityH, _before_entityH);

                    if (_entityH._lock_flg == 0)
                    {
                        this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.Upd;
                        SetDatePickerNotEnabled();
                    }
                    else
                    {
                        this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.Sel;
                        SetDatePickerNotEnabled();
                    }

                    // 明細再計算
                    DetailSumPrice();

                    // 支払番号指定時、仕入先は変更不可
                    if (!string.IsNullOrEmpty(this.utlPaymentNo.txtID.Text.Trim()))
                    {
                        this.utlPurchase.txtID.IsEnabled = false;
                    }

                    ExBackgroundWorker.DoWork_Focus(this.datPaymentCashYmd, 10);
                    this.utlNo.txtID_IsReadOnly = true;
                    //this.utlNo.IsEnabled = false;
                    break;

                #endregion

                #region 支払出金

                // 支払出金
                case ExWebService.geWebServiceCallKbn.GetPaymentCashOut:
                    // 更新
                    if (objList != null)
                    {
                        _entityPaymentCashOut = (EntityPaymentCashOut)objList;

                        // エラー発生時
                        if (_entityPaymentCashOut.message != "" && _entityPaymentCashOut.message != null)
                        {
                            webService.ProcessingDlgClose();
                            this.utlPaymentNo.txtID.Text = "";

                            _entityH._payment_no = 0;
                            _entityH._payment_kbn = 0;
                            _entityH._payment_kbn_nm = "";
                            _entityH._summing_up_group_id = "";
                            _entityH._summing_up_group_nm = "";
                            _entityH._payment_yyyymmdd = "";
                            _entityH._payment_plan_day = "";
                            _entityH._payment_price = 0;
                            _entityH._before_payment_cash_price = 0;

                            DetailSumPrice();

                            this.utlPurchase.txtID.IsEnabled = true;
                            ExBackgroundWorker.DoWork_Focus(this.utlPaymentNo.txtID, 10);
                            return;
                        }

                        // 2回設定がかかりエラーになる為
                        try
                        {
                            this.dg.ItemsSource = null;
                        }
                        catch
                        {
                            return;
                        }

                        _entityH._payment_no = _entityPaymentCashOut._no;

                        this.utlPurchase.txtID.Text = _entityPaymentCashOut._purchase_id;
                        _entityH._purchase_id = _entityPaymentCashOut._purchase_id;
                        _entityH._purchase_name = _entityPaymentCashOut._purchase_nm;
                        _entityH._payment_kbn = _entityPaymentCashOut._payment_kbn;
                        _entityH._payment_kbn_nm = _entityPaymentCashOut._payment_kbn_nm;
                        _entityH._summing_up_group_id = _entityPaymentCashOut._summing_up_group_id;
                        _entityH._summing_up_group_nm = _entityPaymentCashOut._summing_up_group_nm;
                        _entityH._payment_yyyymmdd = _entityPaymentCashOut._payment_close_yyyymmdd;
                        _entityH._payment_plan_day = _entityPaymentCashOut._payment_plan_day;
                        _entityH._payment_price = _entityPaymentCashOut._payment_price;
                        _entityH._before_payment_cash_price = _entityPaymentCashOut._before_payment_cash_price;
                        _entityH._before_credit_price = _entityPaymentCashOut._credit_price;
                        _entityH._credit_price = _entityPaymentCashOut._credit_price;
                        _entityH._payment_division_id = _entityPaymentCashOut._payment_division_id;
                        _entityH._payment_division_nm = _entityPaymentCashOut._payment_division_nm;

                        // バインド反映
                        SetBinding();

                        // 前回情報保持
                        ConvertBeforeData(_entityH, _before_entityH);

                        _entityListD = null;
                        _entityListD = new ObservableCollection<EntityPaymentCashD>();
                        EntityPaymentCashD entity = new EntityPaymentCashD();
                        entity._rec_no = 1;
                        entity._payment_cash_division_id = this._entityH._payment_division_id;
                        entity._payment_cash_division_nm = this._entityH._payment_division_nm;
                        _entityListD.Add(entity);

                        DetailSumPrice();
                        this._entityListD[0]._price = ExCast.zCDbl(this.txtPaymentZanPrice.Text);
                        this._entityListD[0]._payment_cash_division_id = _entityH._payment_division_id;
                        this._entityListD[0]._payment_cash_division_nm = _entityH._payment_division_nm;
                        this.dg.ItemsSource = null;
                        this.dg.ItemsSource = this._entityListD;
                        DetailSumPrice();

                        // 支払番号指定時、仕入先は変更不可
                        this.utlPurchase.txtID.IsEnabled = false;

                        ExBackgroundWorker.DoWork_Focus(this.txtMemo, 10);


                    }
                    else
                    {
                        MessageBox.Show("支払番号:" + this.utlPaymentNo.txtID.Text + " は存在しません。");
                        webService.ProcessingDlgClose();
                        this.utlPaymentNo.txtID.Text = "";

                        _entityH._payment_no = 0;
                        _entityH._payment_kbn = 0;
                        _entityH._payment_kbn_nm = "";
                        _entityH._summing_up_group_id = "";
                        _entityH._summing_up_group_nm = "";
                        _entityH._payment_yyyymmdd = "";
                        _entityH._payment_plan_day = "";
                        _entityH._payment_price = 0;
                        _entityH._before_payment_cash_price = 0;

                        DetailSumPrice();

                        ExBackgroundWorker.DoWork_Focus(this.utlPaymentNo.txtID, 10);
                        this.utlPurchase.txtID.IsEnabled = true;
                    }
                    break;

                #endregion

                default:
                    break;
            }
        }
        public override void RecordAdd()
        {
            if (Common.gblnDesynchronizeLock == true) return;

            if (_entityListD == null) _entityListD = new ObservableCollection<EntityPaymentCashD>();

            EntityPaymentCashD entity = new EntityPaymentCashD();
            int cnt = 1;
            if (_entityListD != null) cnt = _entityListD.Count + 1;
            entity._rec_no = cnt;
            //entity._receipt_division_id = this._entityH._receipt_division_id;
            //entity._receipt_division_nm = this._entityH._receipt_division_nm;
            _entityListD.Add(entity);
            dg.SelectedIndex = entity._rec_no - 1;
            dg.Focus();
            if (dg.CurrentColumn != null)
            {
                dg.ScrollIntoView(entity, dg.Columns[0]);
                dg.CommitEdit();
                dg.CurrentColumn = dg.Columns[0];
                dg.BeginEdit();
                dg.MoveNextCell();
            }

            // ファンクションキー設定
            string _activeCtlName = "";
            if (this.activeControl != null) _activeCtlName = ExCast.zCStr(this.activeControl.Name);
            switch (_activeCtlName)
            {
                case "cboBreakDown":
                case "cboDeliver":
                case "txtGoodsName":
                case "cboUnit":
                case "txtEnterNum":
                case "txtNumber":
                case "txtUnitPrice":
                case "txtPrice":
                case "txtCaseNum":
                case "cboTaxDivision":
                case "txtGoodsID":
                    if (this._entityListD.Count > 1)
                    {
                        ExVisualTreeHelper.SetFunctionKeyEnabled("F8", true, this);
                    }
                    else
                    {
                        ExVisualTreeHelper.SetFunctionKeyEnabled("F8", false, this);
                    }
                    break;
            }
        }