private void OnFileDownloadCompleted(object sender, OpenReadCompletedEventArgs e)
        {
            try
            {
                if (e.Error != null)
                {
                    ExMessageBox.Show("ダウンロードファイル保存処理で通信エラーが発生しました。" + Environment.NewLine + e.Error);
                }
                else
                {
                    try
                    {
                        byte[] data = ReadBinaryData(e.Result);

                        string _msg = "";
                        try
                        {
                            ExUTF8Encoding _encode = new ExUTF8Encoding();
                            _msg = _encode.OnGetString(data, 0 , 200);
                            if (_msg.Length > 25)
                            {
                                if (_msg.IndexOf("error message start ==>") != -1)
                                {
                                    MessageBox.Show("ダウンロードファイル保存処理で予期せぬエラーが発生しました。" + Environment.NewLine + _msg.Replace("error message start ==>", ""));
                                    return;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                        }

                        using (System.IO.Stream fs = (System.IO.Stream)this.saveDialog.OpenFile())
                        {
                            fs.Write(data, 0, data.Length);
                            fs.Close();
                        }
                    }
                    catch (Exception ex)
                    {
                        ExMessageBox.Show("ダウンロードファイル保存処理で予期せぬエラーが発生しました。" + Environment.NewLine + ex.Message);
                        return;
                    }
                }
            }
            finally
            {
                if (this.utlParentFKey != null) this.utlParentFKey.IsEnabled = true;

                this.saveDialog = null;
                if (dlgWin != null)
                {
                    dlgWin.Close();
                    dlgWin = null;
                }
                GC.Collect();
            }
        }
        public void FileDownLoad(DataReport.geReportKbn rptKbn, string pgId, string[] prm)
        {
            try
            {
                this.saveDialog = new SaveFileDialog();
                switch (rptKbn)
                { 
                    case DataReport.geReportKbn.Download:
                        this.saveDialog.DefaultExt = ".pdf";
                        this.saveDialog.Filter = "All Files|*.*|Pdf Files|*.pdf";
                        break;
                    case DataReport.geReportKbn.Csv:
                        this.saveDialog.DefaultExt = ".csv";
                        this.saveDialog.Filter = "All Files|*.*|Csv Files|*.csv";
                        break;
                    case DataReport.geReportKbn.None:
                        this.saveDialog.Filter = "All Files|*.*";
                        break;
                    default:
                        break;
                }
                this.saveDialog.FilterIndex = 2;
            }
            catch (Exception ex)
            {
                ExMessageBox.Show("ファイル保存処理(ダイアログ表示)で予期せぬエラーが発生しました。" + Environment.NewLine + ex.Message);
                if (this.utlParentFKey != null) this.utlParentFKey.IsEnabled = true;
                return;
            }

            bool? dialogResult = this.saveDialog.ShowDialog();
            if (dialogResult == true)
            {
                try
                {
                    string downLoadFileName = "";
                    string downLoadFilePath = "";

                    downLoadFileName = System.Windows.Browser.HttpUtility.UrlEncode(prm[0]);
                    downLoadFilePath = prm[1].Replace(prm[0], System.Windows.Browser.HttpUtility.UrlEncode(prm[0])).Replace(@"\", "@AAB@").Replace("/", "@AAD@"); ;
                    var requestUri = string.Format("{0}?rptKbn={1}&pgId={2}&random={3}&downLoadFileName={4}&downLoadFilePath={5}", Common.gstrReportDownloadUrl, ((int)rptKbn).ToString(), pgId, Common.gstrSessionString, downLoadFileName, downLoadFilePath);
                    var client = new WebClient();
                    client.OpenReadCompleted += OnFileDownloadCompleted;
                    client.OpenReadAsync(new Uri(requestUri), null);

                    switch (rptKbn)
                    {
                        case DataReport.geReportKbn.OutPut:
                        case DataReport.geReportKbn.Download:
                            Common.gstrProgressDialogTitle = "PDFファイルダウンロード中";
                            break;
                        case DataReport.geReportKbn.Csv:
                            Common.gstrProgressDialogTitle = "CSVファイルダウンロード中";
                            break;
                    }
                    if (dlgWin == null) { dlgWin = new Dlg_Progress(); }
                    dlgWin.Show();
                    
                }
                catch (Exception ex)
                {
                    ExMessageBox.Show("ファイルダウンロード処理で予期せぬエラーが発生しました。" + Environment.NewLine + ex.Message);
                    if (this.utlParentFKey != null) this.utlParentFKey.IsEnabled = true;
                    return;
                }
            }
            else
            {
                this.saveDialog = null;
                if (this.utlParentFKey != null) this.utlParentFKey.IsEnabled = true;
                GC.Collect();
            }
        }
 private void LogoffCompleted(Object sender, LogoffCompletedEventArgs e)
 {
     try
     {
         bool ret = e.Result;
         if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
         {
             win.Close();
             win = null;
         }
         objMenu.DataInsert((int)geWebServiceCallKbn.Logoff);
     }
     catch (Exception ex)
     {
         this.ProcessingDlgClose();
         ExMessageBox.Show(CLASS_NM + ".LogoffCompleted" + Environment.NewLine + ex.ToString(), "エラー確認");
     }
     finally
     {
         if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
         {
             win.Close();
             win = null;
         }
     }
 }
        private void GetOrderListCompleted(Object sender, GetOrderListCompletedEventArgs e)
        {
            try
            {
                objOrderList = e.Result;
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }

                if (objOrderList != null)
                {
                    if (objOrderList.Count == 0)
                    {
                        objPerent.DataSelect((int)geWebServiceCallKbn.GetOrderList, null);
                        return;
                    }

                    if (objOrderList[0].message != null)
                    {
                        if (objOrderList[0].message != "")
                        {
                            // 認証失敗
                            ExMessageBox.Show(objOrderList[0].message);
                            objPerent.DataSelect((int)geWebServiceCallKbn.GetOrderList, null);
                        }
                        else
                        {
                            // 認証成功
                            objPerent.DataSelect((int)geWebServiceCallKbn.GetOrderList, (object)objOrderList);
                        }
                    }
                    else
                    {
                        // 認証成功
                        objPerent.DataSelect((int)geWebServiceCallKbn.GetOrderList, (object)objOrderList);
                    }
                }
                else
                {
                    objPerent.DataSelect((int)geWebServiceCallKbn.GetOrderList, null);
                }

            }
            catch (Exception ex)
            {
                this.ProcessingDlgClose();
                ExMessageBox.Show(CLASS_NM + ".GetOrderListCompleted" + Environment.NewLine + ex.ToString(), "エラー確認");
            }
            finally
            {
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }
            }
        }
        private void UpdateDutiesCompleted(Object sender, UpdateDutiesCompletedEventArgs e)
        {
            try
            {
                string message = e.Result;
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }

                if (message != "" && message != null)
                {
                    if (message.IndexOf("Auto Insert success : ") > -1)
                    {
                        // 成功
                        objWindow.DataUpdate((int)geWebServiceCallKbn.UpdateDuties, "");
                        ExMessageBox.Show(message.Replace("Auto Insert success : ", ""));
                    }
                    else
                    {
                        // 失敗
                        ExMessageBox.Show(message);
                        objWindow.DataUpdate((int)geWebServiceCallKbn.UpdateDuties, message);
                    }

                }
                else
                {
                    ExMessageBox.Show("登録しました。");

                    // 成功
                    objWindow.DataUpdate((int)geWebServiceCallKbn.UpdateDuties, "");
                }
            }
            catch (Exception ex)
            {
                this.ProcessingDlgClose();
                ExMessageBox.Show(CLASS_NM + ".UpdateDutiesCompleted" + Environment.NewLine + ex.ToString(), "エラー確認");
            }
            finally
            {
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }
            }
        }
        private void ReportOutCompleted(Object sender, ReportOutCompletedEventArgs e)
        {
            try
            {
                objReport = e.Result;
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }

                if (objReport != null)
                {
                    if (objReport._message != "" && objReport._message != null)
                    {
                        // 失敗
                        ExMessageBox.Show(objReport._message);
                        objPerent.ReportOut((object)objReport);
                    }
                    else
                    {
                        // 成功
                        objPerent.ReportOut((object)objReport);
                    }
                }
                else
                {
                    objPerent.ReportOut(null);
                }

            }
            catch (Exception ex)
            {
                this.ProcessingDlgClose();
                ExMessageBox.Show(CLASS_NM + ".ReportOutCompleted" + Environment.NewLine + ex.ToString(), "エラー確認");
            }
            finally
            {
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }
            }
        }
        private void UpdateAuthorityCompleted(Object sender, UpdateAuthorityCompletedEventArgs e)
        {
            try
            {
                string message = e.Result;
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }

                if (message != "" && message != null)
                {
                    // 失敗
                    ExMessageBox.Show(message);
                    objPerent.DataUpdate((int)geWebServiceCallKbn.UpdateAuthority, message);
                }
                else
                {
                    ExMessageBox.Show("登録しました。");

                    // 成功
                    objPerent.DataUpdate((int)geWebServiceCallKbn.UpdateAuthority, "");
                }
            }
            catch (Exception ex)
            {
                this.ProcessingDlgClose();
                ExMessageBox.Show(CLASS_NM + ".UpdateAuthorityCompleted" + Environment.NewLine + ex.ToString(), "エラー確認");
            }
            finally
            {
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }
            }
        }
        private void GetReportSettingCompleted(Object sender, GetReportSettingCompletedEventArgs e)
        {
            try
            {
                objReportSetting = e.Result;
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }

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

            }
            catch (Exception ex)
            {
                this.ProcessingDlgClose();
                ExMessageBox.Show(CLASS_NM + ".GetReportSettingCompleted" + Environment.NewLine + ex.ToString(), "エラー確認");
            }
            finally
            {
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }
            }
        }
        // WebサービスCall(データ参照時)
        public void CallWebService(geWebServiceCallKbn callKbn, 
                                   geDialogDisplayFlg dialogDisplayFlg,
                                   geDialogCloseFlg dialogCloseFlg,
                                   object[] prmList)
        {
            try
            {
                if (Common.gblnAppStart == false)
                {
                    return;
                }

                DialogCloseFlg = dialogCloseFlg;
                DialogDisplayFlg = dialogDisplayFlg;
                gWebServiceCallKbn = callKbn;
                _prmList = prmList;

                // Web Service Call
                switch (gWebServiceCallKbn)
                {
                    #region ログイン

                    case geWebServiceCallKbn.Login:
                        Login(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]), ExCast.zCInt(_prmList[2]));
                        break;
                    case geWebServiceCallKbn.Logoff:
                        Logoff();
                        break;

                    #endregion

                    #region 伝票入力

                    #region 見積

                    case geWebServiceCallKbn.GetEstimateList:
                        GetEstimateList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetEstimateListH:
                        GetEstimateH(ExCast.zCLng(_prmList[0]), ExCast.zCLng(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetEstimateListD:
                        GetEstimateListD(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateEstimate:
                        UpdateEstimate(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityEstimateH)_prmList[2], (ObservableCollection<EntityEstimateD>)_prmList[3]);
                        break;
                    case geWebServiceCallKbn.UpdateEstimatePrint:
                        UpdateEstimatePrint(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;

                    #endregion

                    #region 受注

                    case geWebServiceCallKbn.GetOrderList:
                        GetOrderList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetOrderListH:
                        GetOrderH(ExCast.zCLng(_prmList[0]), ExCast.zCLng(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetOrderListD:
                        GetOrderListD(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateOrder:
                        UpdateOrder(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityOrderH)_prmList[2], (ObservableCollection<EntityOrderD>)_prmList[3]);
                        break;
                    case geWebServiceCallKbn.UpdateOrderPrint:
                        UpdateOrderPrint(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;

                    #endregion

                    #region 売上

                    case geWebServiceCallKbn.GetSalesList:
                        GetSalesList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetSalesListH:
                        GetSalesH(ExCast.zCLng(_prmList[0]), ExCast.zCLng(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetSalesListD:
                        GetSalesListD(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateSales:
                        UpdateSales(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntitySalesH)_prmList[2], (ObservableCollection<EntitySalesD>)_prmList[3], (EntitySalesH)_prmList[4], (ObservableCollection<EntitySalesD>)_prmList[5]);
                        break;
                    case geWebServiceCallKbn.UpdateSalesPrint:
                        UpdateSalesPrint(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;

                    #endregion

                    #region 請求

                    case geWebServiceCallKbn.GetInvoiceTotal:
                        GetInvoiceTotal((EntityInvoiceClosePrm)_prmList[0]);
                        break;
                    case geWebServiceCallKbn.GetInvoiceList:
                        GetInvoiceList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdateInvoice:
                        UpdateInvoice(ExCast.zCInt(_prmList[0]), (ObservableCollection<EntityInvoiceClose>)_prmList[1]);
                        break;
                    case geWebServiceCallKbn.UpdateInvoicePrint:
                        UpdateInvoicePrint(ExCast.zCInt(_prmList[0]), (ObservableCollection<EntityInvoiceClose>)_prmList[1]);
                        break;

                    #endregion

                    #region 入金

                    case geWebServiceCallKbn.GetReceiptList:
                        GetReceiptList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetReceiptListH:
                        GetReceiptH(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.GetReceiptListD:
                        GetReceiptListD(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.GetInvocieReceipt:
                        GetInvoiceReceipt(ExCast.zCLng(_prmList[0]), ExCast.zCLng(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdateReceipt:
                        UpdateReceipt(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityReceiptH)_prmList[2], (ObservableCollection<EntityReceiptD>)_prmList[3], (EntityReceiptH)_prmList[4]);
                        break;

                    #endregion

                    #region 請求残高

                    case geWebServiceCallKbn.GetInvoiceBalanceList:
                        GetInvoiceBalanceList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdateInvoiceBalance:
                        UpdateInvoiceBalance(ExCast.zCInt(_prmList[0]), (ObservableCollection<EntityInvoiceBalance>)_prmList[1]);
                        break;

                    #endregion

                    #region 売掛残高

                    case geWebServiceCallKbn.GetSalesCreditBalanceList:
                        GetSalesCreditBalanceList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdateSalesCreditBalance:
                        UpdateSalesCreditBalance(ExCast.zCInt(_prmList[0]), (ObservableCollection<EntitySalesCreditBalance>)_prmList[1]);
                        break;

                    #endregion

                    #region 発注

                    case geWebServiceCallKbn.GetPurchaseOrderList:
                        GetPurchaseOrderList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetPurchaseOrderListH:
                        GetPurchaseOrderH(ExCast.zCLng(_prmList[0]), ExCast.zCLng(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetPurchaseOrderListD:
                        GetPurchaseOrderListD(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdatePurchaseOrder:
                        UpdatePurchaseOrder(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityPurchaseOrderH)_prmList[2], (ObservableCollection<EntityPurchaseOrderD>)_prmList[3]);
                        break;
                    case geWebServiceCallKbn.UpdatePurchaseOrderPrint:
                        UpdatePurchaseOrderPrint(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;

                    #endregion

                    #region 仕入

                    case geWebServiceCallKbn.GetPurchaseList:
                        GetPurchaseList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetPurchaseListH:
                        GetPurchaseH(ExCast.zCLng(_prmList[0]), ExCast.zCLng(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetPurchaseListD:
                        GetPurchaseListD(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdatePurchase:
                        UpdatePurchase(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityPurchaseH)_prmList[2], (ObservableCollection<EntityPurchaseD>)_prmList[3], (EntityPurchaseH)_prmList[4], (ObservableCollection<EntityPurchaseD>)_prmList[5]);
                        break;
                    //case geWebServiceCallKbn.UpdateSalesPrint:
                    //    UpdateSalesPrint(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]));
                    //    break;

                    #endregion

                    #region 支払

                    case geWebServiceCallKbn.GetPaymentTotal:
                        GetPaymentTotal((EntityPaymentClosePrm)_prmList[0]);
                        break;
                    case geWebServiceCallKbn.GetPaymentList:
                        GetPaymentList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdatePayment:
                        UpdatePayment(ExCast.zCInt(_prmList[0]), (ObservableCollection<EntityPaymentClose>)_prmList[1]);
                        break;
                    case geWebServiceCallKbn.UpdatePaymentPrint:
                        UpdatePaymentPrint(ExCast.zCInt(_prmList[0]), (ObservableCollection<EntityPaymentClose>)_prmList[1]);
                        break;

                    #endregion

                    #region 出金

                    case geWebServiceCallKbn.GetPaymentCashList:
                        GetPaymentCashList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetPaymentCashListH:
                        GetPaymentCashH(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.GetPaymentCashListD:
                        GetPaymentCashListD(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.GetPaymentCashOut:
                        GetPaymentCashOut(ExCast.zCLng(_prmList[0]), ExCast.zCLng(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdatePaymentCash:
                        UpdatePaymentCash(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityPaymentCashH)_prmList[2], (ObservableCollection<EntityPaymentCashD>)_prmList[3], (EntityPaymentCashH)_prmList[4]);
                        break;

                    #endregion

                    #region 支払残高

                    case geWebServiceCallKbn.GetPaymentBalanceList:
                        GetPaymentBalanceList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdatePaymentBalance:
                        UpdatePaymentBalance(ExCast.zCInt(_prmList[0]), (ObservableCollection<EntityPaymentBalance>)_prmList[1]);
                        break;

                    #endregion

                    #region 買掛残高

                    case geWebServiceCallKbn.GetPaymentCreditBalanceList:
                        GetPaymentCreditBalanceList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdatePaymentCreditBalance:
                        UpdatePaymentCreditBalance(ExCast.zCInt(_prmList[0]), (ObservableCollection<EntityPaymentCreditBalance>)_prmList[1]);
                        break;

                    #endregion

                    #region 入出庫

                    case geWebServiceCallKbn.GetInOutDeliveryList:
                        GetInOutDeliveryList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetInOutDeliveryListH:
                        GetInOutDeliveryH(ExCast.zCLng(_prmList[0]), ExCast.zCLng(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.GetInOutDeliveryListD:
                        GetInOutDeliveryListD(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateInOutDelivery:
                        UpdateInOutDelivery(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityInOutDeliveryH)_prmList[2], (ObservableCollection<EntityInOutDeliveryD>)_prmList[3], (EntityInOutDeliveryH)_prmList[4], (ObservableCollection<EntityInOutDeliveryD>)_prmList[5]);
                        break;

                    #endregion

                    #region 棚卸

                    case geWebServiceCallKbn.GetStockInventoryList:
                        GetStockInventoryList(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdateStockInventory:
                        UpdateStockInventory(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]), (ObservableCollection<EntityStockInventory>)_prmList[2]);
                        break;

                    #endregion


                    #endregion

                    #region マスタ

                    #region 名称

                    case geWebServiceCallKbn.GetNameList:
                        GetNameList();
                        break;

                    #endregion

                    #region 会社

                    case geWebServiceCallKbn.GetCompany:
                        GetCompany();
                        break;
                    case geWebServiceCallKbn.UpdateCompany:
                        UpdateCompany(ExCast.zCInt(_prmList[0]), (EntityCompany)_prmList[1]);
                        break;

                    #endregion

                    #region 会社グループ

                    case geWebServiceCallKbn.GetCompanyGroup:
                        GetCompanyGroup(ExCast.zCInt(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateCompanyGroup:
                        UpdateCompanyGroup(ExCast.zCInt(_prmList[0]), ExCast.zCInt(_prmList[1]), (EntityCompanyGroup)_prmList[2]);
                        break;

                    #endregion

                    #region ユーザ

                    case geWebServiceCallKbn.GetUser:
                        GetUser(ExCast.zCInt(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateUser:
                        UpdateUser(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityUser)_prmList[2]);
                        break;

                    #endregion

                    #region 担当

                    case geWebServiceCallKbn.GetPerson:
                        GetPerson(ExCast.zCInt(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdatePerson:
                        UpdatePerson(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityPerson)_prmList[2]);
                        break;

                    #endregion

                    #region 得意先

                    case geWebServiceCallKbn.GetCustomer:
                        GetCustomer(ExCast.zCStr(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateCustomer:
                        UpdateCustomer(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]), (EntityCustomer)_prmList[2]);
                        break;

                    #endregion

                    #region 商品

                    case geWebServiceCallKbn.GetCommodity:
                        GetCommodity(ExCast.zCStr(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateCommodity:
                        UpdateCommodity(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]), (EntityCommodity)_prmList[2]);
                        break;

                    #endregion

                    #region 締区分

                    case geWebServiceCallKbn.GetCondition:
                        GetCondition();
                        break;
                    case geWebServiceCallKbn.UpdateCondition:
                        UpdateCondition((ObservableCollection<EntityCondition>)_prmList[0]);
                        break;

                    #endregion

                    #region 分類

                    case geWebServiceCallKbn.GetClass:
                        GetClass(ExCast.zCInt(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateClass:
                        UpdateClass((ObservableCollection<EntityClass>)_prmList[0], ExCast.zCInt(_prmList[1]));
                        break;

                    #endregion

                    #region 納入先

                    case geWebServiceCallKbn.GetSupplier:
                        GetSupplier(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.UpdateSupplier:
                        UpdateSupplier(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]), ExCast.zCStr(_prmList[2]), (EntitySupplier)_prmList[3]);
                        break;

                    #endregion

                    #region 権限

                    case geWebServiceCallKbn.GetAuthority:
                        GetAuthority(ExCast.zCInt(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateAuthority:
                        UpdateAuthority((ObservableCollection<EntityAuthority>)_prmList[0], ExCast.zCInt(_prmList[1]));
                        break;

                    #endregion

                    #region レポート設定

                    case geWebServiceCallKbn.GetReportSetting:
                        GetReportSetting(ExCast.zCStr(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateReportSetting:
                        UpdateReportSetting(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]), (EntityReportSetting)_prmList[2]);
                        break;

                    #endregion

                    #region 仕入先

                    case geWebServiceCallKbn.GetPurchaseMst:
                        GetPurchaseMst(ExCast.zCStr(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdatePurchaseMst:
                        UpdatePurchaseMst(ExCast.zCInt(_prmList[0]), ExCast.zCStr(_prmList[1]), (EntityPurchaseMst)_prmList[2]);
                        break;

                    #endregion

                    #endregion

                    #region 証跡

                    case geWebServiceCallKbn.AddEvidence:
                        AddEvidence(ExCast.zCStr(_prmList[0]), ExCast.zCInt(_prmList[1]), ExCast.zCStr(_prmList[2]));
                        break;

                    #endregion

                    #region 排他制御

                    case geWebServiceCallKbn.LockPg:
                        LockPg(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]), ExCast.zCInt(_prmList[2]));
                        break;

                    #endregion

                    #region サポート

                    #region 問い合わせ

                    case geWebServiceCallKbn.GetInquiry:
                        GetInquiry(ExCast.zCLng(_prmList[0]));
                        break;
                    case geWebServiceCallKbn.UpdateInquiry:
                        UpdateInquiry(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (EntityInquiry)_prmList[2]);
                        break;

                    #endregion

                    #endregion

                    #region 業務連絡

                    case geWebServiceCallKbn.GetDuties:
                        if (_prmList.Length == 1)
                        {
                            GetDuties(ExCast.zCLng(_prmList[0]), 0);
                        }
                        else
                        {
                            GetDuties(ExCast.zCLng(_prmList[0]), ExCast.zCInt(_prmList[1]));
                        }
                        break;
                    case geWebServiceCallKbn.UpdateDuties:
                        UpdateDuties(ExCast.zCInt(_prmList[0]), ExCast.zCLng(_prmList[1]), (svcDuties.EntityDuties)_prmList[2]);
                        break;

                    #endregion

                    #region システムからの連絡

                    case geWebServiceCallKbn.GetSystemInf:
                        if (_prmList.Length == 1)
                        {
                            GetSystemInf(ExCast.zCLng(_prmList[0]), 0);
                        }
                        else
                        {
                            GetSystemInf(ExCast.zCLng(_prmList[0]), ExCast.zCInt(_prmList[1]));
                        }
                        break;

                    #endregion

                    case geWebServiceCallKbn.CopyCheck:
                        CopyCheck(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]));
                        break;
                    case geWebServiceCallKbn.ReportOut:
                        ReportOut(ExCast.zCStr(_prmList[0]), ExCast.zCStr(_prmList[1]), ExCast.zCStr(_prmList[2]));
                        break;
                    default:
                        return;
                }

                // 処理中ダイアログ表示
                if (DialogDisplayFlg == geDialogDisplayFlg.Yes)
                {
                    if (win == null) { win = new Dlg_Progress(); }
                    win.Show();
                }
            }
            catch (Exception ex)
            {
                this.ProcessingDlgClose();
                ExMessageBox.Show(CLASS_NM + ".CallWebService" + Environment.NewLine + ex.ToString(), "エラー確認");
            }
        }
        // ダイアログ閉じる
        public void ProcessingDlgClose()
        {
            try
            {
                Common.gblnDesynchronizeLock = false;

                if (win != null)
                {
                    win.Close();
                    win = null;
                }
            }
            catch
            { 
                // ダイアログが開いてなくてエラーが発生しても握りつぶす
            }

            try
            {
                // システム終了時のエラー発生時
                if (reportView != null)
                {
                    reportView.Close();
                } 
            }
            catch
            { 
            }

            try
            {
                // システム終了時のエラー発生時
                if (Common.gblnAppEnd == true && Application.Current.IsRunningOutOfBrowser)
                {
                    Application.Current.MainWindow.Close();
                } 

            }
            catch
            { 
            }            
        }
 // ダイアログ表示
 public void ProcessingDlgShow()
 {
     win = new Dlg_Progress();
     win.Show();
 }
        private void GetPaymentCashInCompleted(Object sender, GetPaymentCashInCompletedEventArgs e)
        {
            try
            {
                objInvocieReceipt = e.Result;
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }

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

            }
            catch (Exception ex)
            {
                this.ProcessingDlgClose();
                ExMessageBox.Show(CLASS_NM + ".GetInvocieReceiptCompleted" + Environment.NewLine + ex.ToString(), "エラー確認");
            }
            finally
            {
                if (DialogCloseFlg == geDialogCloseFlg.Yes & win != null)
                {
                    win.Close();
                    win = null;
                }
            }
        }
        private ObservableCollection<EntityMstList> objMstList;         // マスタ一覧
        
        #endregion

        #region Method

        #region Web Service Call

        // WebサービスCall(データ参照時)
        public void CallWebServiceMst(geWebServiceMstNmCallKbn callKbn, 
                                      geDialogDisplayFlg dialogDisplayFlg,
                                      geDialogCloseFlg dialogCloseFlg,
                                      object[] prm)
        {
            try
            {
                if (Common.gblnAppStart == false)
                {
                    return;
                }

                gWebServiceMstNmCallKbn = callKbn;
                WebServiceMstNmCallKbn = callKbn;

                // Web Service Call
                switch (callKbn)
                {
                    case geWebServiceMstNmCallKbn.GetCustomer:
                    case geWebServiceMstNmCallKbn.GetCustomer_F:
                    case geWebServiceMstNmCallKbn.GetCustomer_T:
                        GetCustomer(ExCast.zCStr(prm[0]));
                        break;
                    case geWebServiceMstNmCallKbn.GetSupplier:
                        GetSupplier(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]));
                        break;
                    case geWebServiceMstNmCallKbn.GetPerson:
                    case geWebServiceMstNmCallKbn.GetPerson_F:
                    case geWebServiceMstNmCallKbn.GetPerson_T:
                        GetPerson(ExCast.zCStr(prm[0]));
                        break;
                    case geWebServiceMstNmCallKbn.GetCommodity:
                    case geWebServiceMstNmCallKbn.GetCommodity_F:
                    case geWebServiceMstNmCallKbn.GetCommodity_T:
                        GetCommodity(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]));
                        break;
                    case geWebServiceMstNmCallKbn.GetCompanyGroup:
                    case geWebServiceMstNmCallKbn.GetCompanyGroup_F:
                    case geWebServiceMstNmCallKbn.GetCompanyGroup_T:
                        GetCompanyGroup(ExCast.zCStr(prm[0]));
                        break;
                    case geWebServiceMstNmCallKbn.GetZip:
                        GetZip(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]));
                        break;
                    case geWebServiceMstNmCallKbn.GetCondition:
                    case geWebServiceMstNmCallKbn.GetCondition_F:
                    case geWebServiceMstNmCallKbn.GetCondition_T:
                        GetCondition(1, ExCast.zCStr(prm[0]));
                        break;
                    case geWebServiceMstNmCallKbn.GetRecieptDivision:
                        GetReceitpDivision(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]));
                        break;
                    case geWebServiceMstNmCallKbn.GetGroup:
                    case geWebServiceMstNmCallKbn.GetGroup_F:
                    case geWebServiceMstNmCallKbn.GetGroup_T:
                        GetGroup(ExCast.zCInt(prm[0]), ExCast.zCStr(prm[1]));
                        break;
                    case geWebServiceMstNmCallKbn.GetPurchase:
                    case geWebServiceMstNmCallKbn.GetPurchase_F:
                    case geWebServiceMstNmCallKbn.GetPurchase_T:
                        GetPurchase(ExCast.zCStr(prm[0]));
                        break;
                    case geWebServiceMstNmCallKbn.GetCustomerList:
                        GetCustomerList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]), ExCast.zCStr(prm[3]));
                        break;
                    case geWebServiceMstNmCallKbn.GetSupplierList:
                        GetSupplierList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]), ExCast.zCStr(prm[3]));
                        break;
                    case geWebServiceMstNmCallKbn.GetPersonList:
                        GetPersonList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]));
                        break;
                    case geWebServiceMstNmCallKbn.GetCommodityList:
                        GetCommodityList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]), ExCast.zCStr(prm[3]));
                        break;
                    case geWebServiceMstNmCallKbn.GetCompanyGroupList:
                        GetCompanyGroupList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]));
                        break;
                    case geWebServiceMstNmCallKbn.GetZipList:
                        GetZipList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]));
                        break;
                    case geWebServiceMstNmCallKbn.GetConditionList:
                        GetConditionList(1, ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]));
                        break;
                    case geWebServiceMstNmCallKbn.GetRecieptDivisionList:
                        GetReceitpDivisionList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]));
                        break;
                    case geWebServiceMstNmCallKbn.GetGroupList:
                        GetGroupList((int)this.MstGroupKbn, ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]));
                        break;
                    case geWebServiceMstNmCallKbn.GetPurchaseList:
                        GetPurchaseList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]), ExCast.zCStr(prm[3]));
                        break;
                    case geWebServiceMstNmCallKbn.GetUserList:
                        GetUserList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]), ExCast.zCStr(prm[2]));
                        break;
                    case geWebServiceMstNmCallKbn.GetInventoryList:
                        GetInventoryList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]));
                        break;
                    case geWebServiceMstNmCallKbn.GetSalesBalanceList:
                        GetSalesBalanceList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]));
                        break;
                    case geWebServiceMstNmCallKbn.GetPaymentBalanceList:
                        GetPaymentBalanceList(ExCast.zCStr(prm[0]), ExCast.zCStr(prm[1]));
                        break;
                    default:
                        break;
                }

                // 処理中ダイアログ表示
                if (dialogDisplayFlg == geDialogDisplayFlg.Yes)
                {
                    win = new Dlg_Progress();
                    win.Show();
                }
                
            }
            catch (Exception ex)
            {
                ExMessageBox.Show(CLASS_NM + ".CallWebService" + Environment.NewLine + ex.ToString(), "エラー確認");
            }
        }