// For Order
        public static void SetCommodityToDetail(int i, EntityOrderH entityH, ObservableCollection<EntityOrderD> entityD, svcMstData.EntityMstData mst)
        {
            if (i == -1) return;

            svcMstData.EntityMstData _mst = mst;

            EntityBaseH entityBaseH = null;
            ObservableCollection<EntityBaseD> entityBaseD = null;

            ConvertFrom(entityH, ref entityBaseH, entityD, ref entityBaseD);

            _SetCommodityToDetail(i, ref entityBaseH, ref entityBaseD, _mst, eKbn.Sales);

            ConvertTo(entityBaseH, ref entityH, entityBaseD, ref entityD);

            // 明細計算
            CalcDetailNumber(i, entityH, entityD);
            CalcDetail(i, entityH, entityD);
        }
        // For Order
        public static void ConvertFrom(EntityOrderH entityH, ref EntityBaseH entityBaseH, ObservableCollection<EntityOrderD> entityD, ref ObservableCollection<EntityBaseD> entityBaseD)
        {
            entityBaseD = new ObservableCollection<EntityBaseD>();

            for (int i = 0; i <= entityD.Count - 1; i++)
            {
                EntityBaseD _entityBaseD = new EntityBaseD();

                #region Set Entity Detail

                _entityBaseD.id = entityD[i]._id;
                _entityBaseD.rec_no = entityD[i]._rec_no;
                _entityBaseD.breakdown_id = entityD[i]._breakdown_id;
                _entityBaseD.breakdown_nm = entityD[i]._breakdown_nm;
                _entityBaseD.deliver_division_id = entityD[i]._deliver_division_id;
                _entityBaseD.deliver_division_nm = entityD[i]._deliver_division_nm;
                _entityBaseD.commodity_id = entityD[i]._commodity_id;
                _entityBaseD.commodity_name = entityD[i]._commodity_name;
                _entityBaseD.unit_id = entityD[i]._unit_id;
                _entityBaseD.unit_nm = entityD[i]._unit_nm;
                _entityBaseD.enter_number = entityD[i]._enter_number;
                _entityBaseD.case_number = entityD[i]._case_number;
                _entityBaseD.number = entityD[i]._number;
                _entityBaseD.unit_price = entityD[i]._unit_price;
                _entityBaseD.sales_cost = entityD[i]._sales_cost;
                _entityBaseD.tax = entityD[i]._tax;
                _entityBaseD.no_tax_price = entityD[i]._no_tax_price;
                _entityBaseD.price = entityD[i]._price;
                _entityBaseD.profits = entityD[i]._profits;
                _entityBaseD.profits_percent = entityD[i]._profits_percent;
                _entityBaseD.tax_division_id = entityD[i]._tax_division_id;
                _entityBaseD.tax_division_nm = entityD[i]._tax_division_nm;
                _entityBaseD.tax_percent = entityD[i]._tax_percent;
                _entityBaseD.inventory_management_division_id = entityD[i]._inventory_management_division_id;
                _entityBaseD.inventory_number = entityD[i]._inventory_number;
                _entityBaseD.retail_price_skip_tax = entityD[i]._retail_price_skip_tax;
                _entityBaseD.retail_price_before_tax = entityD[i]._retail_price_before_tax;
                _entityBaseD.sales_unit_price_skip_tax = entityD[i]._sales_unit_price_skip_tax;
                _entityBaseD.sales_unit_price_before_tax = entityD[i]._sales_unit_price_before_tax;
                _entityBaseD.sales_cost_price_skip_tax = entityD[i]._sales_cost_price_skip_tax;
                _entityBaseD.sales_cost_price_before_tax = entityD[i]._sales_cost_price_before_tax;
                _entityBaseD.number_decimal_digit = entityD[i]._number_decimal_digit;
                _entityBaseD.unit_decimal_digit = entityD[i]._unit_decimal_digit;

                #endregion

                entityBaseD.Add(_entityBaseD);
            }

            entityBaseH = new EntityBaseH();

            #region Set Entity Head

            entityBaseH.tax_change_id = entityH._tax_change_id;
            entityBaseH.business_division_id = entityH._business_division_id;
            entityBaseH.price_fraction_proc_id = entityH._price_fraction_proc_id;
            entityBaseH.tax_fraction_proc_id = entityH._tax_fraction_proc_id;
            entityBaseH.unit_kind_id = entityH._unit_kind_id;
            entityBaseH.sum_enter_number = entityH._sum_enter_number;
            entityBaseH.sum_case_number = entityH._sum_case_number;
            entityBaseH.sum_number = entityH._sum_number;
            entityBaseH.sum_unit_price = entityH._sum_unit_price;
            entityBaseH.sum_sales_cost = entityH._sum_sales_cost;
            entityBaseH.sum_tax = entityH._sum_tax;
            entityBaseH.sum_no_tax_price = entityH._sum_no_tax_price;
            entityBaseH.sum_price = entityH._sum_price;
            entityBaseH.sum_profits = entityH._sum_profits;
            entityBaseH.profits_percent = entityH._profits_percent;
            entityBaseH.credit_rate = entityH._credit_rate;

            #endregion
        }
        // For Order
        public static void ReCalcDetail(EntityOrderH entityH, ObservableCollection<EntityOrderD> entityD)
        {
            for (int i = 0; i <= entityD.Count - 1; i++)
            {
                // 明細計算
                CalcDetail(i, entityH, entityD);
            }

            // 明細合計計算
            CalcSumDetail(entityH, entityD);
        }
        // For Order
        public static void CalcSumDetail(EntityOrderH entityH, ObservableCollection<EntityOrderD> entityD)
        {
            EntityBaseH entityBaseH = null;
            ObservableCollection<EntityBaseD> entityBaseD = null;
            ConvertFrom(entityH, ref entityBaseH, entityD, ref entityBaseD);

            _CalcSumDetail(ref entityBaseH, ref entityBaseD);

            ConvertTo(entityBaseH, ref entityH, entityBaseD, ref entityD);
        }
        // For Order
        public static void ConvertTo(EntityBaseH entityBaseH, ref EntityOrderH entityH, ObservableCollection<EntityBaseD> entityBaseD, ref ObservableCollection<EntityOrderD> entityD)
        {
            for (int i = 0; i <= entityD.Count - 1; i++)
            {
                #region Set Entity

                entityD[i]._id = entityBaseD[i].id;
                entityD[i]._rec_no = entityBaseD[i].rec_no;
                entityD[i]._breakdown_id = entityBaseD[i].breakdown_id;
                entityD[i]._breakdown_nm = entityBaseD[i].breakdown_nm;
                entityD[i]._deliver_division_id = entityBaseD[i].deliver_division_id;
                entityD[i]._deliver_division_nm = entityBaseD[i].deliver_division_nm;
                entityD[i]._commodity_id = entityBaseD[i].commodity_id;
                entityD[i]._commodity_name = entityBaseD[i].commodity_name;
                entityD[i]._unit_id = entityBaseD[i].unit_id;
                entityD[i]._unit_nm = entityBaseD[i].unit_nm;
                entityD[i]._enter_number = entityBaseD[i].enter_number;
                entityD[i]._case_number = entityBaseD[i].case_number;
                entityD[i]._number = entityBaseD[i].number;
                entityD[i]._unit_price = entityBaseD[i].unit_price;
                entityD[i]._sales_cost = entityBaseD[i].sales_cost;
                entityD[i]._tax = entityBaseD[i].tax;
                entityD[i]._no_tax_price = entityBaseD[i].no_tax_price;
                entityD[i]._price = entityBaseD[i].price;
                entityD[i]._profits = entityBaseD[i].profits;
                entityD[i]._profits_percent = entityBaseD[i].profits_percent;
                entityD[i]._tax_division_id = entityBaseD[i].tax_division_id;
                entityD[i]._tax_division_nm = entityBaseD[i].tax_division_nm;
                entityD[i]._tax_percent = entityBaseD[i].tax_percent;
                entityD[i]._inventory_management_division_id = entityBaseD[i].inventory_management_division_id;
                entityD[i]._inventory_number = entityBaseD[i].inventory_number;
                entityD[i]._retail_price_skip_tax = entityBaseD[i].retail_price_skip_tax;
                entityD[i]._retail_price_before_tax = entityBaseD[i].retail_price_before_tax;
                entityD[i]._sales_unit_price_skip_tax = entityBaseD[i].sales_unit_price_skip_tax;
                entityD[i]._sales_unit_price_before_tax = entityBaseD[i].sales_unit_price_before_tax;
                entityD[i]._sales_cost_price_skip_tax = entityBaseD[i].sales_cost_price_skip_tax;
                entityD[i]._sales_cost_price_before_tax = entityBaseD[i].sales_cost_price_before_tax;
                //entityD[i]._purchase_unit_price_skip_tax = entityBaseD[i].sales_cost_price_skip_tax;
                //entityD[i]._purchase_unit_price_before_tax = entityBaseD[i].sales_cost_price_before_tax;
                entityD[i]._number_decimal_digit = entityBaseD[i].number_decimal_digit;
                entityD[i]._unit_decimal_digit = entityBaseD[i].unit_decimal_digit;

                #endregion
            }

            #region Set Entity Head

            entityH._tax_change_id = entityBaseH.tax_change_id;
            entityH._business_division_id = entityBaseH.business_division_id;
            entityH._price_fraction_proc_id = entityBaseH.price_fraction_proc_id;
            entityH._tax_fraction_proc_id = entityBaseH.tax_fraction_proc_id;
            entityH._unit_kind_id = entityBaseH.unit_kind_id;
            entityH._sum_enter_number = entityBaseH.sum_enter_number;
            entityH._sum_case_number = entityBaseH.sum_case_number;
            entityH._sum_number = entityBaseH.sum_number;
            entityH._sum_unit_price = entityBaseH.sum_unit_price;
            entityH._sum_sales_cost = entityBaseH.sum_sales_cost;
            entityH._sum_tax = entityBaseH.sum_tax;
            entityH._sum_no_tax_price = entityBaseH.sum_no_tax_price;
            entityH._sum_price = entityBaseH.sum_price;
            entityH._sum_profits = entityBaseH.sum_profits;
            entityH._profits_percent = entityBaseH.profits_percent;
            entityH._credit_rate = entityBaseH.credit_rate;

            #endregion

        }
        // For Order
        public static void CalcDetailNumber(int i, EntityOrderH entityH, ObservableCollection<EntityOrderD> entityD)
        {
            EntityBaseH entityBaseH = null;
            ObservableCollection<EntityBaseD> entityBaseD = null;
            ConvertFrom(entityH, ref entityBaseH, entityD, ref entityBaseD);

            _CalcDetailNumber(i, ref entityBaseD);

            ConvertTo(entityBaseH, ref entityH, entityBaseD, ref entityD);

            // 明細計算
            CalcDetail(i, entityH, entityD);

            // 明細合計計算
            CalcSumDetail(entityH, entityD);
        }
        // データ取得コールバック呼出
        public override void DataSelect(int intKbn, object objList)
        {
            switch ((ExWebService.geWebServiceCallKbn)intKbn)
            {
                #region 売上

                // 売上ヘッダ
                case _GetHeadWebServiceCallKbn:
                    // 更新
                    if (objList != null)
                    {
                        _entityH = (EntitySalesH)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;
                        //this.utlNo.IsEnabled = false;
                        this.utlNo.txtID_IsReadOnly = false;
                    }
                    ExBackgroundWorker.DoWork_Focus(this.utlPerson.txtID, 10);
                    break;
                // 売上明細
                case _GetDetailWebServiceCallKbn:
                    // 2回設定がかかりエラーになる為
                    try
                    {
                        this.dg.ItemsSource = null;
                    }
                    catch
                    {
                        return;
                    }

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

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

                    // 明細再計算
                    DataDetail.IsCalcPrice = false;
                    DataDetail.ReCalcDetail(_entityH, _entityListD);
                    DataDetail.IsCalcPrice = true;

                    this.dg.ItemsSource = _entityListD;

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

                    if (_entityH._invoice_close_flg == 1)
                    {
                        this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.Sel;
                        this.utlMode.txtMode.Text = " 参照モード(請求締切済) ";
                        return;
                    }

                    if (_entityH._receipt_receivable_kbn_nm == "消込未" || _entityH._receipt_receivable_kbn_nm == "")
                    {
                    }
                    else
                    {
                        this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.Sel;
                        this.utlMode.txtMode.Text = " 参照モード(" + _entityH._receipt_receivable_kbn_nm + ") ";
                        return;
                    }

                    if (_entityH._lock_flg == 0)
                    {
                        this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.Upd;
                        ConvertRedData(_entityH, _entityListD, _entityRedH, _entityListRedD);
                        _entityRedH._no = 0;
                        _entityRedH._id = 0;
                        _entityRedH._red_before_no = _entityH._no;
                    }
                    else
                    {
                        this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.Sel;
                    }

                    // 売掛再計算
                    CalcSalesCredit();

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

                #endregion

                #region 受注

                // 受注ヘッダ
                case ExWebService.geWebServiceCallKbn.GetOrderListH:
                    // 更新
                    if (objList != null)    
                    {
                        _entityOrderH = (EntityOrderH)objList;

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

                        if (_entityOrderH._sales_allocation_flg == 1)
                        {
                            MessageBox.Show("売上計上済の為、受注番号:" + this.utlOrderNo.txtID.Text + " は選択できません。");
                            webService.ProcessingDlgClose();
                            this.utlOrderNo.txtID.Text = "";
                            ExBackgroundWorker.DoWork_Focus(this.utlOrderNo.txtID, 10);
                            return;
                        }

                        // 明細データ取得
                        GetDetailOrder(_entityOrderH._id);
                    }
                    // 新規
                    else
                    {
                        MessageBox.Show("受注番号:" + this.utlOrderNo.txtID.Text + " は存在しません。");
                        webService.ProcessingDlgClose();
                        this.utlOrderNo.txtID.Text = "";
                        ExBackgroundWorker.DoWork_Focus(this.utlOrderNo.txtID, 10);
                    }
                    break;
                // 受注明細
                case ExWebService.geWebServiceCallKbn.GetOrderListD:
                    // 2回設定がかかりエラーになる為
                    try
                    {
                        this.dg.ItemsSource = null;
                    }
                    catch
                    {
                        return;
                    }

                    if (objList != null)
                    {
                        _entityListOrderD = (ObservableCollection<EntityOrderD>)objList;
                    }
                    else 
                    {
                        _entityListOrderD = null;
                    }

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

                    ConverOrderToSales(this._entityH, this._entityListD, this._entityOrderH, this._entityListOrderD);

                    // 明細再計算
                    DataDetail.IsCalcPrice = false;
                    DataDetail.ReCalcDetail(_entityH, _entityListD);
                    DataDetail.IsCalcPrice = true;


                    // 売掛再計算
                    CalcSalesCredit();

                    if (string.IsNullOrEmpty(_entityH._memo))
                    {
                        _entityH._memo = "受注No : " + ExCast.zFormatForID(_entityOrderH._no, Common.gintidFigureSlipNo);
                    }

                    this.dg.ItemsSource = _entityListD;
                    ExBackgroundWorker.DoWork_Focus(this.datNokiYmd, 10);

                    this.utlEstimateNo.txtID.OnFormatString();
                    this.utlOrderNo.txtID.OnFormatString();
                    this.utlEstimateNo.txtID.UpdataFlg = false;
                    this.utlOrderNo.txtID.UpdataFlg = false;

                    break;

                #endregion

                #region 見積

                // 見積ヘッダ
                case ExWebService.geWebServiceCallKbn.GetEstimateListH:
                    // 更新
                    if (objList != null)
                    {
                        _entityEstimateH = (EntityEstimateH)objList;

                        // エラー発生時
                        if (_entityEstimateH._message != "" && _entityEstimateH._message != null)
                        {
                            webService.ProcessingDlgClose();
                            this.utlEstimateNo.txtID.Text = "";
                            ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                            return;
                        }

                        if (_entityEstimateH._order_allocation_flg == 1)
                        {
                            MessageBox.Show("受注計上済の為、見積番号:" + this.utlEstimateNo.txtID.Text + " は選択できません。");
                            webService.ProcessingDlgClose();
                            this.utlEstimateNo.txtID.Text = "";
                            ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                            return;
                        }
                        else if (_entityEstimateH._sales_allocation_flg == 1)
                        {
                            MessageBox.Show("売上計上済の為、見積番号:" + this.utlEstimateNo.txtID.Text + " は選択できません。");
                            webService.ProcessingDlgClose();
                            this.utlEstimateNo.txtID.Text = "";
                            ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                            return;
                        }

                        if (Common.gintEstimateApprovalFlg == 1 && _entityEstimateH._state != 1)
                        {
                            MessageBox.Show("承認されていない為、見積番号:" + this.utlEstimateNo.txtID.Text + " は選択できません。");
                            webService.ProcessingDlgClose();
                            this.utlEstimateNo.txtID.Text = "";
                            ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                            return;
                        }

                        // 明細データ取得
                        GetDetailEstimate(_entityEstimateH._id);
                    }
                    // 新規
                    else
                    {
                        MessageBox.Show("見積番号:" + this.utlEstimateNo.txtID.Text + " は存在しません。");
                        webService.ProcessingDlgClose();
                        this.utlEstimateNo.txtID.Text = "";
                        ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                    }
                    break;
                // 見積明細
                case ExWebService.geWebServiceCallKbn.GetEstimateListD:
                    // 2回設定がかかりエラーになる為
                    try
                    {
                        this.dg.ItemsSource = null;
                    }
                    catch
                    {
                        return;
                    }

                    if (objList != null)
                    {
                        _entityListEstimateD = (ObservableCollection<EntityEstimateD>)objList;
                    }
                    else
                    {
                        _entityListEstimateD = null;
                    }

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

                    ConverEstimateToSales(this._entityH, this._entityListD, this._entityEstimateH, this._entityListEstimateD);

                    // 明細再計算
                    DataDetail.IsCalcPrice = false;
                    DataDetail.ReCalcDetail(_entityH, _entityListD);
                    DataDetail.IsCalcPrice = true;

                    this.dg.ItemsSource = _entityListD;

                    // 売掛再計算
                    CalcSalesCredit();

                    if (string.IsNullOrEmpty(_entityH._memo))
                    {
                        _entityH._memo = "見積No : " + ExCast.zFormatForID(this._entityEstimateH._no, Common.gintidFigureSlipNo);
                    }

                    ExBackgroundWorker.DoWork_Focus(this.utlOrderNo.txtID, 10);

                    this.utlEstimateNo.txtID.OnFormatString();
                    this.utlOrderNo.txtID.OnFormatString();
                    this.utlEstimateNo.txtID.UpdataFlg = false;
                    this.utlOrderNo.txtID.UpdataFlg = false;

                    break;

                #endregion

                default:
                    break;
            }
        }
        private void ConverOrderToSales(EntitySalesH _entitySalesH,
                                        ObservableCollection<EntitySalesD> _entitySalesListD,
                                        EntityOrderH _entityOrderH,
                                        ObservableCollection<EntityOrderD> _entityListOrderD)
        {
            #region Set Entity Head

            _entitySalesH._estimateno = _entityOrderH._estimateno;
            //_entitySalesH._sales_ymd = _entityOrderH.or;

            this.utlCustomer.Is_MstID_Changed = false;
            this.utlSupply.Is_MstID_Changed = false;

            _entitySalesH._customer_id = _entityOrderH._customer_id;
            _entitySalesH._customer_name = _entityOrderH._customer_name;

            _entitySalesH._supplier_id = _entityOrderH._supplier_id;
            _entitySalesH._supplier_name = _entityOrderH._supplier_name;

            this.utlCustomer.Is_MstID_Changed = true;
            this.utlSupply.Is_MstID_Changed = true;
            this.utlCustomer.MstID_Changed(_entityOrderH, new PropertyChangedEventArgs("customer_id"));
            this.utlSupply.MstID_Changed(_entityOrderH, new PropertyChangedEventArgs("supplier_id"));

            _entitySalesH._tax_change_id = _entityOrderH._tax_change_id;
            _entitySalesH._tax_change_name = _entityOrderH._tax_change_name;

            _entitySalesH._business_division_id = _entityOrderH._business_division_id;
            _entitySalesH._business_division_name = _entityOrderH._business_division_name;

            _entitySalesH._supply_ymd = _entityOrderH._supply_ymd;
            _entitySalesH._sum_enter_number = _entityOrderH._sum_enter_number;
            _entitySalesH._sum_case_number = _entityOrderH._sum_case_number;
            _entitySalesH._sum_number = _entityOrderH._sum_number;
            _entitySalesH._sum_unit_price = _entityOrderH._sum_unit_price;
            _entitySalesH._sum_sales_cost = _entityOrderH._sum_sales_cost;
            _entitySalesH._sum_tax = _entityOrderH._sum_tax;
            _entitySalesH._sum_no_tax_price = _entityOrderH._sum_no_tax_price;
            _entitySalesH._sum_price = _entityOrderH._sum_price;
            _entitySalesH._sum_profits = _entityOrderH._sum_profits;
            _entitySalesH._profits_percent = _entityOrderH._profits_percent;
            _entitySalesH._credit_limit_price = _entityOrderH._credit_limit_price;
            _entitySalesH._sales_credit_price = _entityOrderH._sales_credit_price;
            _entitySalesH._before_sales_credit_price = _entityOrderH._sales_credit_price;

            _entitySalesH._invoice_id = _entityOrderH._invoice_id;
            _entitySalesH._invoice_name = _entityOrderH._invoice_name;

            _entitySalesH._credit_rate = _entityOrderH._credit_rate;
            _entitySalesH._unit_kind_id = _entityOrderH._unit_kind_id;

            _entitySalesH._invoice_state = "";
            _entitySalesH._receipt_receivable_kbn = 1;
            _entitySalesH._receipt_receivable_kbn_nm = "消込未";

            _entitySalesH._memo = _entityOrderH._memo;

            //_entitySalesH._update_person_id = ExCast.zCInt(dt.DefaultView[0]["UPDATE_PERSON_ID"]);
            //_entitySalesH._update_person_nm = ExCast.zCStr(dt.DefaultView[0]["UPDATE_PERSON_NM"]);

            //_entitySalesH._lock_flg = (int)lockFlg;

            #endregion

            #region Set Entity Detail

            if (_entitySalesListD == null) _entitySalesListD = new ObservableCollection<EntitySalesD>();
            _entitySalesListD.Clear();

            for (int i = 0; i <= _entityListOrderD.Count - 1; i++)
            {
                EntitySalesD _entityD = new EntitySalesD();
                _entityD._id = _entitySalesH._id;
                _entityD._rec_no = _entityListOrderD[i]._rec_no;
                _entityD._breakdown_id = _entityListOrderD[i]._breakdown_id;
                _entityD._breakdown_nm = _entityListOrderD[i]._breakdown_nm;
                List<string> lst;
                lst = MeiNameList.GetListMei(MeiNameList.geNameKbn.DELIVER_DIVISION_ID);
                _entityD._deliver_division_nm = lst[2];
                _entityD._deliver_division_id = MeiNameList.GetID(MeiNameList.geNameKbn.DELIVER_DIVISION_ID, lst[2]);
                //_entityD._deliver_division_id = 2;
                //_entityD._deliver_division_nm = _entityListOrderD[i]._deliver_division_nm;
                _entityD._commodity_id = _entityListOrderD[i]._commodity_id;
                _entityD._commodity_name = _entityListOrderD[i]._commodity_name;
                _entityD._unit_id = _entityListOrderD[i]._unit_id;
                _entityD._unit_nm = _entityListOrderD[i]._unit_nm;
                _entityD._enter_number = _entityListOrderD[i]._enter_number;
                _entityD._case_number = _entityListOrderD[i]._case_number;
                _entityD._number = _entityListOrderD[i]._number;
                _entityD._order_id = _entityOrderH._id;
                _entityD._order_number = _entityListOrderD[i]._number;
                _entityD._order_stay_number = 0;
                _entityD._unit_price = _entityListOrderD[i]._unit_price;
                _entityD._sales_cost = _entityListOrderD[i]._sales_cost;
                _entityD._tax = _entityListOrderD[i]._tax;
                _entityD._no_tax_price = _entityListOrderD[i]._no_tax_price;
                _entityD._price = _entityListOrderD[i]._price;
                _entityD._profits = _entityListOrderD[i]._profits;
                _entityD._profits_percent = _entityListOrderD[i]._profits_percent;
                _entityD._memo = _entityListOrderD[i]._memo;
                _entityD._tax_division_id = _entityListOrderD[i]._tax_division_id;
                _entityD._tax_division_nm = _entityListOrderD[i]._tax_division_nm;
                _entityD._tax_percent = _entityListOrderD[i]._tax_percent;
                _entityD._inventory_number = _entityListOrderD[i]._inventory_number;
                _entityD._inventory_management_division_id = _entityListOrderD[i]._inventory_management_division_id;
                _entityD._number_decimal_digit = _entityListOrderD[i]._number_decimal_digit;
                _entityD._unit_decimal_digit = _entityListOrderD[i]._unit_decimal_digit;
                _entitySalesListD.Add(_entityD);
            }

            #endregion
        }
        private void GetOrderHCompleted(Object sender, GetOrderHCompletedEventArgs e)
        {
            try
            {
                objOrderH = e.Result;
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }

                if (objOrderH != null)
                {
                    if (objOrderH._message != "" && objOrderH._message != null)
                    {
                        // 認証失敗
                        ExMessageBox.Show(objOrderH._message);
                        objPerent.DataSelect((int)geWebServiceCallKbn.GetOrderListH, (object)objOrderH);
                    }
                    else
                    {
                        // 認証成功
                        objPerent.DataSelect((int)geWebServiceCallKbn.GetOrderListH, (object)objOrderH);
                    }
                }
                else
                {
                    objPerent.DataSelect((int)geWebServiceCallKbn.GetOrderListH, null);
                }

            }
            catch (Exception ex)
            {
                this.ProcessingDlgClose();
                ExMessageBox.Show(CLASS_NM + ".GetOrderHCompleted" + Environment.NewLine + ex.ToString(), "エラー確認");
            }
            finally
            {
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }
            }
        }
 private void UpdateOrder(int type, long OrderNo, EntityOrderH entityH, ObservableCollection<EntityOrderD> entityD)
 {
     try
     {
         svcOrderClient svc = new svcOrderClient();
         svc.UpdateOrderCompleted += new EventHandler<UpdateOrderCompletedEventArgs>(this.UpdateOrderCompleted);
         svc.UpdateOrderAsync(Common.gstrSessionString, type, OrderNo, entityH, entityD);
     }
     catch (Exception ex)
     {
         this.ProcessingDlgClose();
         ExMessageBox.Show(CLASS_NM + ".UpdateOrder" + Environment.NewLine + ex.ToString(), "エラー確認");
     }
 }
 private void GetOrderH(long OrderNoFrom, long OrderNoTo)
 {
     try
     {
         objOrderH = null;   // 初期化
         svcOrderClient svc = new svcOrderClient();
         svc.GetOrderHCompleted += new EventHandler<GetOrderHCompletedEventArgs>(this.GetOrderHCompleted);
         svc.GetOrderHAsync(Common.gstrSessionString, OrderNoFrom, OrderNoTo);
     }
     catch (Exception ex)
     {
         this.ProcessingDlgClose();
         ExMessageBox.Show(CLASS_NM + ".GetOrderH" + Environment.NewLine + ex.ToString(), "エラー確認");
     }
 }
        // データ取得コールバック呼出
        public override void DataSelect(int intKbn, object objList)
        {
            switch ((ExWebService.geWebServiceCallKbn)intKbn)
            {
                #region 受注

                // 受注ヘッダ
                case _GetHeadWebServiceCallKbn:
                    // 更新
                    if (objList != null)    
                    {
                        _entityH = (EntityOrderH)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;
                        this.utlNo.txtID_IsReadOnly = false;
                    }
                    ExBackgroundWorker.DoWork_Focus(this.datOrderYmd, 10);
                    break;
                // 受注明細
                case _GetDetailWebServiceCallKbn:
                    // 2回設定がかかりエラーになる為
                    try
                    {
                        this.dg.ItemsSource = null;
                    }
                    catch
                    {
                        return;
                    }

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

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

                    // 明細再計算
                    DataDetail.IsCalcPrice = false;
                    DataDetail.ReCalcDetail(_entityH, _entityListD);
                    DataDetail.IsCalcPrice = true;

                    this.dg.ItemsSource = _entityListD;

                    if (_entityH._sales_allocation_flg == 1)
                    {
                        this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.Sel;
                        this.utlMode.txtMode.Text = " 参照モード(売上計上済) ";
                        return;
                    }

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

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

                    break;

                #endregion

                #region 見積

                // 見積ヘッダ
                case ExWebService.geWebServiceCallKbn.GetEstimateListH:
                    // 更新
                    if (objList != null)
                    {
                        _entityEstimateH = (EntityEstimateH)objList;

                        // エラー発生時
                        if (_entityEstimateH._message != "" && _entityEstimateH._message != null)
                        {
                            webService.ProcessingDlgClose();
                            this.utlEstimateNo.txtID.Text = "";
                            ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                            return;
                        }

                        if (_entityEstimateH._order_allocation_flg == 1)
                        {
                            MessageBox.Show("受注計上済の為、見積番号:" + this.utlEstimateNo.txtID.Text + " は選択できません。");
                            webService.ProcessingDlgClose();
                            this.utlEstimateNo.txtID.Text = "";
                            ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                            return;
                        }
                        else if (_entityEstimateH._sales_allocation_flg == 1)
                        {
                            MessageBox.Show("売上計上済の為、見積番号:" + this.utlEstimateNo.txtID.Text + " は選択できません。");
                            webService.ProcessingDlgClose();
                            this.utlEstimateNo.txtID.Text = "";
                            ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                            return;
                        }

                        if (Common.gintEstimateApprovalFlg == 1 && _entityEstimateH._state != 1)
                        {
                            MessageBox.Show("承認されていない為、見積番号:" + this.utlEstimateNo.txtID.Text + " は選択できません。");
                            webService.ProcessingDlgClose();
                            this.utlEstimateNo.txtID.Text = "";
                            ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                            return;
                        }

                        // 明細データ取得
                        GetDetailEstimate(_entityEstimateH._id);
                    }
                    // 新規
                    else
                    {
                        MessageBox.Show("見積番号:" + this.utlEstimateNo.txtID.Text + " は存在しません。");
                        webService.ProcessingDlgClose();
                        this.utlEstimateNo.txtID.Text = "";
                        ExBackgroundWorker.DoWork_Focus(this.utlEstimateNo.txtID, 10);
                    }
                    break;
                // 見積明細
                case ExWebService.geWebServiceCallKbn.GetEstimateListD:
                    // 2回設定がかかりエラーになる為
                    try
                    {
                        this.dg.ItemsSource = null;
                    }
                    catch
                    {
                        return;
                    }

                    if (objList != null)
                    {
                        _entityListEstimateD = (ObservableCollection<EntityEstimateD>)objList;
                    }
                    else
                    {
                        _entityListEstimateD = null;
                    }

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

                    ConverEstimateToOrder(this._entityH, this._entityListD, this._entityEstimateH, this._entityListEstimateD);

                    // 明細再計算
                    DataDetail.IsCalcPrice = false;
                    DataDetail.ReCalcDetail(_entityH, _entityListD);
                    DataDetail.IsCalcPrice = true;

                    this.dg.ItemsSource = _entityListD;

                    ExBackgroundWorker.DoWork_Focus(this.datNokiYmd, 10);

                    this.utlEstimateNo.txtID.OnFormatString();
                    this.utlEstimateNo.txtID.UpdataFlg = false;

                    break;

                #endregion

                default:
                    break;
            }
        }
        private void SetBinding()
        {
            if (_entityH == null)
            {
                _entityH = new EntityOrderH();
            }

            if (_entityListD == null)
            {
                _entityListD = new ObservableCollection<EntityOrderD>();
            }

            // マスタコントロールPropertyChanged
            _entityH.PropertyChanged += this.utlCustomer.MstID_Changed;
            _entityH.PropertyChanged += this.utlSupply.MstID_Changed;
            _entityH.PropertyChanged += this.utlPerson.MstID_Changed;
            _entityH.PropertyChanged += this._PropertyChanged;
            this.utlCustomer.ParentData = _entityH;
            this.utlSupply.ParentData = _entityH;
            this.utlPerson.ParentData = _entityH;

            NumberConverter nmConvDecm0 = new NumberConverter();
            NumberConverter nmConvDecm2 = new NumberConverter();
            nmConvDecm2.DecimalPlaces = 2;

            #region Bind

            // バインド
            Binding BindingEstimateNo = new Binding("_estimateno");
            BindingEstimateNo.Mode = BindingMode.TwoWay;
            BindingEstimateNo.Source = _entityH;
            this.utlEstimateNo.txtID.SetBinding(TextBox.TextProperty, BindingEstimateNo);

            Binding BindingOrderYmd = new Binding("_order_ymd");
            BindingOrderYmd.Mode = BindingMode.TwoWay;
            BindingOrderYmd.Source = _entityH;
            this.datOrderYmd.SetBinding(DatePicker.SelectedDateProperty, BindingOrderYmd);

            if (string.IsNullOrEmpty(_entityH._order_ymd))
            {
                _entityH._order_ymd = DateTime.Now.ToString("yyyy/MM/dd");
            }
            
            Binding BindingInpPersonID = new Binding("_update_person_id");
            BindingInpPersonID.Mode = BindingMode.TwoWay;
            BindingInpPersonID.Source = _entityH;
            this.utlPerson.txtID.SetBinding(TextBox.TextProperty, BindingInpPersonID);

            Binding BindingInpPersonName = new Binding("_update_person_nm");
            BindingInpPersonName.Mode = BindingMode.TwoWay;
            BindingInpPersonName.Source = _entityH;
            this.utlPerson.txtNm.SetBinding(TextBox.TextProperty, BindingInpPersonName);

            if (_entityH._update_person_id == 0)
            {
                // デフォルト担当の設定
                this.utlPerson.txtID.Text = Common.gintDefaultPersonId.ToString();
                _entityH._update_person_id = Common.gintDefaultPersonId;
                this.utlPerson.MstID_Changed(null, new PropertyChangedEventArgs("_update_person_id"));
            }

            Binding BindingCustomeNo = new Binding("_customer_id");
            BindingCustomeNo.Mode = BindingMode.TwoWay;
            BindingCustomeNo.Source = _entityH;
            this.utlCustomer.txtID.SetBinding(TextBox.TextProperty, BindingCustomeNo);

            Binding BindingCustomeName = new Binding("_customer_name");
            BindingCustomeName.Mode = BindingMode.TwoWay;
            BindingCustomeName.Source = _entityH;
            this.utlCustomer.txtNm.SetBinding(TextBox.TextProperty, BindingCustomeName);

            Binding BindingSupplyNo = new Binding("_supplier_id");
            BindingSupplyNo.Mode = BindingMode.TwoWay;
            BindingSupplyNo.Source = _entityH;
            this.utlSupply.txtID2.SetBinding(TextBox.TextProperty, BindingCustomeNo);
            this.utlSupply.txtID.SetBinding(TextBox.TextProperty, BindingSupplyNo);

            Binding BindingSupplyName = new Binding("_supplier_name");
            BindingSupplyName.Mode = BindingMode.TwoWay;
            BindingSupplyName.Source = _entityH;
            this.utlSupply.txtNm.SetBinding(TextBox.TextProperty, BindingSupplyName);

            Binding BindingTax = new Binding("_tax_change_id");
            BindingTax.Mode = BindingMode.TwoWay;
            BindingTax.Source = _entityH;
            this.utlTax.txtID.SetBinding(TextBox.TextProperty, BindingTax);

            Binding BindingTaxName = new Binding("_tax_change_name");
            BindingTaxName.Mode = BindingMode.TwoWay;
            BindingTaxName.Source = _entityH;
            this.utlTax.txtNm.SetBinding(TextBox.TextProperty, BindingTaxName);

            Binding BindingBusiness = new Binding("_business_division_id");
            BindingBusiness.Mode = BindingMode.TwoWay;
            BindingBusiness.Source = _entityH;
            this.utlBusiness.txtID.SetBinding(TextBox.TextProperty, BindingBusiness);

            Binding BindingBusinessName = new Binding("_business_division_name");
            BindingBusinessName.Mode = BindingMode.TwoWay;
            BindingBusinessName.Source = _entityH;
            this.utlBusiness.txtNm.SetBinding(TextBox.TextProperty, BindingBusinessName);

            Binding BindingNokiYmd = new Binding("_supply_ymd");
            BindingNokiYmd.Mode = BindingMode.TwoWay;
            BindingNokiYmd.Source = _entityH;
            this.datNokiYmd.SetBinding(DatePicker.SelectedDateProperty, BindingNokiYmd);

            Binding BindingMemo = new Binding("_memo");
            BindingMemo.Mode = BindingMode.TwoWay;
            BindingMemo.Source = _entityH;
            this.txtMemo.SetBinding(TextBox.TextProperty, BindingMemo);

            // 入数計
            Binding BindingEnterNumber = new Binding("_sum_enter_number");
            BindingEnterNumber.Mode = BindingMode.TwoWay;
            BindingEnterNumber.Source = _entityH;
            BindingEnterNumber.Converter = nmConvDecm0;
            this.txtEnterNumber.SetBinding(TextBox.TextProperty, BindingEnterNumber);
            
            // ケース数計
            Binding BindingCaseNumber = new Binding("_sum_case_number");
            BindingCaseNumber.Mode = BindingMode.TwoWay;
            BindingCaseNumber.Source = _entityH;
            BindingCaseNumber.Converter = nmConvDecm0;
            this.txtCaseNumber.SetBinding(TextBox.TextProperty, BindingCaseNumber);
            
            // 数量計
            Binding BindingNumber = new Binding("_sum_number");
            BindingNumber.Mode = BindingMode.TwoWay;
            BindingNumber.Source = _entityH;
            BindingNumber.Converter = nmConvDecm2;
            this.txtNumber.SetBinding(TextBox.TextProperty, BindingNumber);
            
            // 単価計
            Binding BindingUnitPrice = new Binding("_sum_unit_price");
            BindingUnitPrice.Mode = BindingMode.TwoWay;
            BindingUnitPrice.Source = _entityH;
            BindingUnitPrice.Converter = nmConvDecm2;
            this.txtUnitPrice.SetBinding(TextBox.TextProperty, BindingUnitPrice);
            
            // 売上原価計

            // 消費税額計
            Binding BindingSumTax = new Binding("_sum_tax");
            BindingSumTax.Mode = BindingMode.TwoWay;
            BindingSumTax.Source = _entityH;
            BindingSumTax.Converter = nmConvDecm0;
            this.txtTax.SetBinding(TextBox.TextProperty, BindingSumTax);
            
            // 税抜金額計
            Binding BindingTaxNoPrice = new Binding("_sum_no_tax_price");
            BindingTaxNoPrice.Mode = BindingMode.TwoWay;
            BindingTaxNoPrice.Source = _entityH;
            BindingTaxNoPrice.Converter = nmConvDecm0;
            this.txtTaxNoPrice.SetBinding(TextBox.TextProperty, BindingTaxNoPrice);

            // 税込金額計
            this.txtSumPrice.Text = ExCast.zCStr(ExCast.zCDbl(_entityH._sum_no_tax_price) + ExCast.zCDbl(_entityH._sum_tax));
            this.txtSumPrice.OnFormatString();

            // 金額計
            Binding BindingPrice = new Binding("_sum_price");
            BindingPrice.Mode = BindingMode.TwoWay;
            BindingPrice.Source = _entityH;
            BindingPrice.Converter = nmConvDecm0;
            this.txtPrice.SetBinding(TextBox.TextProperty, BindingPrice);
            
            // 粗利計(売上金額計-売上原価計)
            Binding BindingProfits = new Binding("_sum_profits");
            BindingProfits.Mode = BindingMode.TwoWay;
            BindingProfits.Source = _entityH;
            BindingProfits.Converter = nmConvDecm0;
            this.txtProfits.SetBinding(TextBox.TextProperty, BindingProfits);
            
            // 粗利率(売上原価計÷売上金額計×100)
            Binding BindingProfitsPercent = new Binding("_profits_percent");
            BindingProfitsPercent.Mode = BindingMode.TwoWay;
            BindingProfitsPercent.Source = _entityH;
            BindingProfitsPercent.Converter = nmConvDecm0;
            this.txtProfitsPercent.SetBinding(TextBox.TextProperty, BindingProfitsPercent);

            // 与信限度額
            Binding BindingCreditLimitPrice = new Binding("_credit_limit_price");
            BindingCreditLimitPrice.Mode = BindingMode.TwoWay;
            BindingCreditLimitPrice.Source = _entityH;
            BindingCreditLimitPrice.Converter = nmConvDecm0;
            this.txtCreditLimitPrice.SetBinding(TextBox.TextProperty, BindingCreditLimitPrice);

            // 売掛残高
            Binding BindingSalesCreditPrice = new Binding("_sales_credit_price");
            BindingSalesCreditPrice.Mode = BindingMode.TwoWay;
            BindingSalesCreditPrice.Source = _entityH;
            BindingSalesCreditPrice.Converter = nmConvDecm0;
            this.txtSalesLimitPrice.SetBinding(TextBox.TextProperty, BindingSalesCreditPrice);

            #endregion

            this.utlEstimateNo.txtID.OnFormatString();
            this.utlEstimateNo.txtID.SetZeroToNullString();
            this.utlCustomer.txtID.SetZeroToNullString();
            this.utlSupply.txtID.SetZeroToNullString();
            this.utlPerson.txtID.SetZeroToNullString();
            this.utlTax.txtID.SetZeroToNullString();
            this.utlBusiness.txtID.SetZeroToNullString();
        }
        private void ConverEstimateToOrder(EntityOrderH _entityOrderH,
                                           ObservableCollection<EntityOrderD> _entityListOrderD,
                                           EntityEstimateH _entityEstimateH,
                                           ObservableCollection<EntityEstimateD> _entityListEstimateD)
        {
            #region Set Entity Head

            _entityOrderH._estimateno = _entityEstimateH._no;
            //_entityOrderH._order_ymd = _entityEstimateH.or;

            this.utlCustomer.Is_MstID_Changed = false;
            this.utlSupply.Is_MstID_Changed = false;

            _entityOrderH._customer_id = _entityEstimateH._customer_id;
            _entityOrderH._customer_name = _entityEstimateH._customer_name;

            _entityOrderH._supplier_id = _entityEstimateH._supplier_id;
            _entityOrderH._supplier_name = _entityEstimateH._supplier_name;

            this.utlCustomer.Is_MstID_Changed = true;
            this.utlSupply.Is_MstID_Changed = true;
            this.utlCustomer.MstID_Changed(_entityOrderH, new PropertyChangedEventArgs("customer_id"));
            this.utlSupply.MstID_Changed(_entityOrderH, new PropertyChangedEventArgs("supplier_id"));

            _entityOrderH._tax_change_id = _entityEstimateH._tax_change_id;
            _entityOrderH._tax_change_name = _entityEstimateH._tax_change_name;

            _entityOrderH._business_division_id = _entityEstimateH._business_division_id;
            _entityOrderH._business_division_name = _entityEstimateH._business_division_name;

            _entityOrderH._supply_ymd = _entityEstimateH._supply_ymd;
            _entityOrderH._sum_enter_number = _entityEstimateH._sum_enter_number;
            _entityOrderH._sum_case_number = _entityEstimateH._sum_case_number;
            _entityOrderH._sum_number = _entityEstimateH._sum_number;
            _entityOrderH._sum_unit_price = _entityEstimateH._sum_unit_price;
            _entityOrderH._sum_sales_cost = _entityEstimateH._sum_sales_cost;
            _entityOrderH._sum_tax = _entityEstimateH._sum_tax;
            _entityOrderH._sum_no_tax_price = _entityEstimateH._sum_no_tax_price;
            _entityOrderH._sum_price = _entityEstimateH._sum_price;
            _entityOrderH._sum_profits = _entityEstimateH._sum_profits;
            _entityOrderH._profits_percent = _entityEstimateH._profits_percent;
            _entityOrderH._credit_limit_price = _entityEstimateH._credit_limit_price;
            _entityOrderH._sales_credit_price = _entityEstimateH._sales_credit_price;
            _entityOrderH._memo = _entityEstimateH._memo;

            //_entityOrderH._update_person_id = ExCast.zCInt(dt.DefaultView[0]["UPDATE_PERSON_ID"]);
            //_entityOrderH._update_person_nm = ExCast.zCStr(dt.DefaultView[0]["UPDATE_PERSON_NM"]);

            //_entityOrderH._lock_flg = (int)lockFlg;

            _entityOrderH._sales_allocation_flg = 0;

            #endregion

            #region Set Entity Detail

            if (_entityListOrderD == null) _entityListOrderD = new ObservableCollection<EntityOrderD>();
            _entityListOrderD.Clear();

            for (int i = 0; i <= _entityListEstimateD.Count - 1; i++)
            {
                EntityOrderD _entityOrderD = new EntityOrderD();
                _entityOrderD._id = _entityOrderH._id;
                _entityOrderD._rec_no = _entityListEstimateD[i]._rec_no;
                _entityOrderD._breakdown_id = _entityListEstimateD[i]._breakdown_id;
                _entityOrderD._breakdown_nm = _entityListEstimateD[i]._breakdown_nm;
                _entityOrderD._deliver_division_id = _entityListEstimateD[i]._deliver_division_id;
                _entityOrderD._deliver_division_nm = _entityListEstimateD[i]._deliver_division_nm;
                _entityOrderD._commodity_id = _entityListEstimateD[i]._commodity_id;
                _entityOrderD._commodity_name = _entityListEstimateD[i]._commodity_name;
                _entityOrderD._unit_id = _entityListEstimateD[i]._unit_id;
                _entityOrderD._unit_nm = _entityListEstimateD[i]._unit_nm;
                _entityOrderD._enter_number = _entityListEstimateD[i]._enter_number;
                _entityOrderD._case_number = _entityListEstimateD[i]._case_number;
                _entityOrderD._number = _entityListEstimateD[i]._number;
                _entityOrderD._unit_price = _entityListEstimateD[i]._unit_price;
                _entityOrderD._sales_cost = _entityListEstimateD[i]._sales_cost;
                _entityOrderD._tax = _entityListEstimateD[i]._tax;
                _entityOrderD._no_tax_price = _entityListEstimateD[i]._no_tax_price;
                _entityOrderD._price = _entityListEstimateD[i]._price;
                _entityOrderD._profits = _entityListEstimateD[i]._profits;
                _entityOrderD._profits_percent = _entityListEstimateD[i]._profits_percent;
                _entityOrderD._memo = _entityListEstimateD[i]._memo;
                _entityOrderD._tax_division_id = _entityListEstimateD[i]._tax_division_id;
                _entityOrderD._tax_division_nm = _entityListEstimateD[i]._tax_division_nm;
                _entityOrderD._tax_percent = _entityListEstimateD[i]._tax_percent;
                _entityOrderD._inventory_number = _entityListEstimateD[i]._inventory_number;
                _entityOrderD._inventory_management_division_id = _entityListEstimateD[i]._inventory_management_division_id;
                _entityOrderD._number_decimal_digit = _entityListEstimateD[i]._number_decimal_digit;
                _entityOrderD._unit_decimal_digit = _entityListEstimateD[i]._unit_decimal_digit;
                _entityListOrderD.Add(_entityOrderD);

            }

            #endregion
        }
        // F2ボタン(クリア) クリック
        public override void btnF2_Click(object sender, RoutedEventArgs e)
        {
            this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.Init;

            // 先頭選択
            this.dg.SelectedFirst();

            // ヘッダ初期化
            _entityH = null;
            SetBinding();

            // 明細初期化
            _entityListD = null;
            _entityListD = new ObservableCollection<EntityOrderD>();

            // 明細追加
            Common.gblnDesynchronizeLock = false;
            this.btnF7_Click(null, null);

            this.dg.ItemsSource = _entityListD;

            this.utlFunctionKey.gFunctionKeyEnable = Utl_FunctionKey.geFunctionKeyEnable.Init;

            this.utlNo.txtID_IsReadOnly = false;
            //this.utlNo.IsEnabled = true;
            this.utlNo.txtID.Text = "";
            ExBackgroundWorker.DoWork_Focus(this.utlNo.txtID, 10);

            // ロック解除
            DataPgLock.gLockPg(PG_NM, "", (int)DataPgLock.geLockType.UnLock);
        }