/// <summary>
        /// 开是否开启事务增加一条数据
        /// <param name="model">要插入的用户账号对象</param>
        /// <param name="db">操作数据对象</param>
        /// <param name="trm">开启事务对象,如果为null不开启</param>
        /// </summary>
        public void Add(UA_BankAccountTableInfo model, Database db, DbTransaction trm)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into UA_BankAccountTable(");
            strSql.Append(
                "CapitalRemainAmount,TradeCurrencyTypeLogo,UserAccountDistributeLogo,BalanceOfTheDay,TodayOutInCapital,FreezeCapital,AvailableCapital)");

            strSql.Append(" values (");
            strSql.Append(
                "@CapitalRemainAmount,@TradeCurrencyTypeLogo,@UserAccountDistributeLogo,@BalanceOfTheDay,@TodayOutInCapital,@FreezeCapital,@AvailableCapital)");

            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "CapitalRemainAmount", DbType.Decimal, model.CapitalRemainAmount);
            db.AddInParameter(dbCommand, "TradeCurrencyTypeLogo", DbType.Int32, model.TradeCurrencyTypeLogo);
            db.AddInParameter(dbCommand, "UserAccountDistributeLogo", DbType.AnsiString, model.UserAccountDistributeLogo);
            db.AddInParameter(dbCommand, "BalanceOfTheDay", DbType.Decimal, model.BalanceOfTheDay);
            db.AddInParameter(dbCommand, "TodayOutInCapital", DbType.Decimal, model.TodayOutInCapital);
            db.AddInParameter(dbCommand, "FreezeCapital", DbType.Decimal, model.FreezeCapital);
            db.AddInParameter(dbCommand, "AvailableCapital", DbType.Decimal, model.AvailableCapital);
            if (trm == null)
            {
                db.ExecuteNonQuery(dbCommand);
            }
            else
            {
                db.ExecuteNonQuery(dbCommand, trm);
            }
        }
        /// <summary>
        /// 开启是否使用事务新数据
        /// </summary>
        /// <param name="model"></param>
        /// <param name="db"></param>
        /// <param name="trm"></param>
        public void Update(UA_BankAccountTableInfo model, Database db, DbTransaction trm)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update UA_BankAccountTable set ");
            strSql.Append("CapitalRemainAmount=@CapitalRemainAmount,");
            strSql.Append("BalanceOfTheDay=@BalanceOfTheDay,");
            strSql.Append("TodayOutInCapital=@TodayOutInCapital,");
            strSql.Append("FreezeCapital=@FreezeCapital,");
            strSql.Append("AvailableCapital=@AvailableCapital");
            strSql.Append(
                " where TradeCurrencyTypeLogo=@TradeCurrencyTypeLogo and UserAccountDistributeLogo=@UserAccountDistributeLogo ");

            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "CapitalRemainAmount", DbType.Decimal, model.CapitalRemainAmount);
            db.AddInParameter(dbCommand, "TradeCurrencyTypeLogo", DbType.Int32, model.TradeCurrencyTypeLogo);
            db.AddInParameter(dbCommand, "UserAccountDistributeLogo", DbType.AnsiString, model.UserAccountDistributeLogo);
            db.AddInParameter(dbCommand, "BalanceOfTheDay", DbType.Decimal, model.BalanceOfTheDay);
            db.AddInParameter(dbCommand, "TodayOutInCapital", DbType.Decimal, model.TodayOutInCapital);
            db.AddInParameter(dbCommand, "FreezeCapital", DbType.Decimal, model.FreezeCapital);
            db.AddInParameter(dbCommand, "AvailableCapital", DbType.Decimal, model.AvailableCapital);
            if (trm != null)
            {
                db.ExecuteNonQuery(dbCommand, trm);
            }
            else
            {
                db.ExecuteNonQuery(dbCommand);
            }
        }
        /// <summary>
        /// 对象实体绑定数据
        /// </summary>
        public UA_BankAccountTableInfo ReaderBind(IDataReader dataReader)
        {
            UA_BankAccountTableInfo model = new UA_BankAccountTableInfo();
            object ojb;

            ojb = dataReader["CapitalRemainAmount"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.CapitalRemainAmount = (decimal)ojb;
            }
            ojb = dataReader["TradeCurrencyTypeLogo"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.TradeCurrencyTypeLogo = (int)ojb;
            }
            model.UserAccountDistributeLogo = dataReader["UserAccountDistributeLogo"].ToString();
            ojb = dataReader["BalanceOfTheDay"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.BalanceOfTheDay = (decimal)ojb;
            }
            ojb = dataReader["TodayOutInCapital"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.TodayOutInCapital = (decimal)ojb;
            }
            ojb = dataReader["FreezeCapital"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.FreezeCapital = (decimal)ojb;
            }
            ojb = dataReader["AvailableCapital"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.AvailableCapital = (decimal)ojb;
            }
            return(model);
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public UA_BankAccountTableInfo GetModel(int TradeCurrencyTypeLogo, string UserAccountDistributeLogo)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append(
                "select CapitalRemainAmount,TradeCurrencyTypeLogo,UserAccountDistributeLogo,BalanceOfTheDay,TodayOutInCapital,FreezeCapital,AvailableCapital from UA_BankAccountTable ");
            strSql.Append(
                " where TradeCurrencyTypeLogo=@TradeCurrencyTypeLogo and UserAccountDistributeLogo=@UserAccountDistributeLogo ");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "TradeCurrencyTypeLogo", DbType.Int32, TradeCurrencyTypeLogo);
            db.AddInParameter(dbCommand, "UserAccountDistributeLogo", DbType.AnsiString, UserAccountDistributeLogo);
            UA_BankAccountTableInfo model = null;

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                if (dataReader.Read())
                {
                    model = ReaderBind(dataReader);
                }
            }
            return(model);
        }
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public void Add(UA_BankAccountTableInfo model)
        {
            Database db = DatabaseFactory.CreateDatabase();

            Add(model, db, null);
        }
        /// <summary>
        /// 初始化银行资金账户
        /// </summary>
        /// <param name="account">账户实体对象</param>
        /// <param name="outMessage">返回信息</param>
        /// <param name="db">数据库对象</param>
        /// <param name="tm">事务对象</param>
        public void InitializationBankCapitalAccount(AccountEntity account, out string outMessage, Database db, DbTransaction tm)
        {
            outMessage = string.Empty;
            //account.
            if (account == null)
            {
                outMessage = "银行资金账户对象为空!";
                return;
            }
            decimal _CurrencyAmount;
            //var _BKCapitalAccount = new SqlUaBankAccountTableProvider(TransactionFactory.RC_ConnectionString, true, "");
            UA_BankAccountTableDal  dal   = new UA_BankAccountTableDal();
            UA_BankAccountTableInfo model = new UA_BankAccountTableInfo();

            model.UserAccountDistributeLogo = account.Account;
            model.TodayOutInCapital         = 0;
            model.FreezeCapital             = 0;

            //人民币
            if (account.CurrencyRMB == decimal.MaxValue || account.CurrencyRMB == decimal.MinValue)
            {
                _CurrencyAmount = 0;
            }
            else
            {
                _CurrencyAmount = account.CurrencyRMB;
            }
            model.CapitalRemainAmount   = _CurrencyAmount;
            model.BalanceOfTheDay       = _CurrencyAmount;
            model.AvailableCapital      = _CurrencyAmount;
            model.TradeCurrencyTypeLogo = (int)GTA.VTS.Common.CommonObject.Types.CurrencyType.RMB;
            dal.Add(model, db, tm);

            //港元
            if (account.CurrencyHK == decimal.MaxValue || account.CurrencyHK == decimal.MinValue)
            {
                _CurrencyAmount = 0;
            }
            else
            {
                _CurrencyAmount = account.CurrencyHK;
            }
            model.CapitalRemainAmount   = _CurrencyAmount;
            model.BalanceOfTheDay       = _CurrencyAmount;
            model.AvailableCapital      = _CurrencyAmount;
            model.TradeCurrencyTypeLogo = (int)GTA.VTS.Common.CommonObject.Types.CurrencyType.HK;
            dal.Add(model, db, tm);

            //美元
            if (account.CurrencyUS == decimal.MaxValue || account.CurrencyUS == decimal.MinValue)
            {
                _CurrencyAmount = 0;
            }
            else
            {
                _CurrencyAmount = account.CurrencyUS;
            }
            model.CapitalRemainAmount   = _CurrencyAmount;
            model.BalanceOfTheDay       = _CurrencyAmount;
            model.AvailableCapital      = _CurrencyAmount;
            model.TradeCurrencyTypeLogo = (int)GTA.VTS.Common.CommonObject.Types.CurrencyType.US;
            dal.Add(model, db, tm);
        }