/// <summary>
        /// 销户
        /// </summary>
        public override void CloseAccountAction()
        {
            //当前钱包
            WalletQueryAndOperateUIModel curWallet = new WalletQueryAndOperateUIModel();

            #region 验证以及准备数据

            if (tabControlFull.Tabs[SysConst.EN_DETAIL].Selected)
            {
                #region 详情销户

                if (string.IsNullOrEmpty(DetailDS.Wal_ID) ||
                    string.IsNullOrEmpty(DetailDS.Wal_No))
                {
                    //没有获取到钱包,销户失败
                    MessageBoxs.Show(Trans.RIA, this.ToString(), MsgHelp.GetMsg(MsgCode.W_0024, new object[] { SystemTableEnums.Name.EWM_Wallet, SystemActionEnum.Name.CLOSEACCOUNT }), MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                #endregion

                curWallet = DetailDS;
            }
            else
            {
                #region 列表销户

                gdGrid.UpdateData();

                var checkedWallet = GridDS.Where(x => x.IsChecked == true).ToList();
                if (checkedWallet.Count != 1)
                {
                    //请勾选一个钱包销户!
                    MessageBoxs.Show(Trans.RIA, this.ToString(), MsgHelp.GetMsg(MsgCode.W_0000, new object[] { "请勾选一个钱包销户!" }), MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                if (string.IsNullOrEmpty(checkedWallet[0].Wal_ID) ||
                    string.IsNullOrEmpty(checkedWallet[0].Wal_No))
                {
                    //没有获取到钱包,销户失败
                    MessageBoxs.Show(Trans.RIA, this.ToString(), MsgHelp.GetMsg(MsgCode.W_0024, new object[] { SystemTableEnums.Name.EWM_Wallet, SystemActionEnum.Name.CLOSEACCOUNT }), MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }

                curWallet = checkedWallet[0];

                #endregion
            }

            //判断钱包有无应收款
            var noSettleBill = BLLCom.GetNoSettleBillByCustomerID(curWallet.Wal_CustomerID);
            if (noSettleBill.Count > 0)
            {
                MessageBoxs.Show(Trans.RIA, this.ToString(), MsgHelp.GetMsg(MsgCode.W_0000, new object[] { "钱包的开户人还有未结算的单据,请先收款" }), MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (curWallet.Wal_AvailableBalance > 0)
            {
                MessageBoxs.Show(Trans.RIA, this.ToString(), MsgHelp.GetMsg(MsgCode.W_0000, new object[] { "该钱包余额大于零,请提现后销户" }), MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            //提示信息
            string warningMessage = "您是否需要销户?\n";
            warningMessage += "钱包账号:" + curWallet.Wal_No + "\n";
            warningMessage += "开户组织:" + curWallet.Wal_CreatedByOrgName + "\n";
            warningMessage += "开户人:" + curWallet.Wal_CustomerName + "\n";
            warningMessage += "可用余额:" + curWallet.Wal_AvailableBalance + "\n";
            //弹提示框
            DialogResult dialogResult = MessageBoxs.Show(Trans.RIA, this.ToString(), MsgHelp.GetMsg(MsgCode.W_0000, warningMessage), MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            if (dialogResult != DialogResult.OK)
            {
                return;
            }
            #endregion

            #region 保存数据

            bool closeAccountResult = _bll.CloseAccountDetailDS(curWallet);
            if (!closeAccountResult)
            {
                //销户失败
                MessageBoxs.Show(Trans.RIA, ToString(), _bll.ResultMsg, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //销户成功
            MessageBoxs.Show(Trans.RIA, ToString(), MsgHelp.GetMsg(MsgCode.I_0001, new object[] { SystemActionEnum.Name.CLOSEACCOUNT }), MessageBoxButtons.OK, MessageBoxIcon.Information);

            #endregion

            //刷新列表
            RefreshList();

            //4.将DetailDS数据赋值给【详情】Tab内的对应控件
            SetDetailDSToCardCtrls();
            //将最新的值Copy到初始UIModel
            this.AcceptUIModelChanges();

            //设置详情页面控件以及导航按钮是否可编辑
            SetDetailControl();
        }