/// <summary>
        /// 将新值累加到原来的字段上(+=)
        /// </summary>
        public void AddUpdate(QH_CapitalAccountTableInfo model, Database db, DbTransaction transaction)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update QH_CapitalAccountTable set ");
            strSql.Append("AvailableCapital=AvailableCapital+(@AvailableCapital),");
            //strSql.Append("UserAccountDistributeLogo=@UserAccountDistributeLogo,");
            //strSql.Append("BalanceOfTheDay=@BalanceOfTheDay,");
            strSql.Append("TodayOutInCapital=TodayOutInCapital+(@TodayOutInCapital),");
            strSql.Append("FreezeCapitalTotal=FreezeCapitalTotal+(@FreezeCapitalTotal),");
            //strSql.Append("CapitalBalance=@CapitalBalance,");
            strSql.Append("MarginTotal=MarginTotal+(@MarginTotal),");
            //strSql.Append("TradeCurrencyType=@TradeCurrencyType,");
            strSql.Append("CloseFloatProfitLossTotal=CloseFloatProfitLossTotal+(@CloseFloatProfitLossTotal),");
            strSql.Append("CloseMarketProfitLossTotal=CloseMarketProfitLossTotal+(@CloseMarketProfitLossTotal)");
            strSql.Append(" where CapitalAccountLogoId=@CapitalAccountLogoId ");
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "CapitalAccountLogoId", DbType.Int32, model.CapitalAccountLogoId);
            db.AddInParameter(dbCommand, "AvailableCapital", DbType.Decimal, model.AvailableCapital);
            //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, "FreezeCapitalTotal", DbType.Decimal, model.FreezeCapitalTotal);
            //db.AddInParameter(dbCommand, "CapitalBalance", DbType.Decimal, model.CapitalBalance);
            db.AddInParameter(dbCommand, "MarginTotal", DbType.Decimal, model.MarginTotal);
            //db.AddInParameter(dbCommand, "TradeCurrencyType", DbType.Int32, model.TradeCurrencyType);
            db.AddInParameter(dbCommand, "CloseFloatProfitLossTotal", DbType.Decimal, model.CloseFloatProfitLossTotal);
            db.AddInParameter(dbCommand, "CloseMarketProfitLossTotal", DbType.Decimal, model.CloseMarketProfitLossTotal);
            db.ExecuteNonQuery(dbCommand, transaction);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public FuturesCapitalEntity()
 {
     GTCapitalObj = null;
     MarketValue  = 0;
     AssetAmount  = 0;
     CurrencyName = string.Empty;
 }
        /// <summary>
        /// 初始化期货资金账户
        /// </summary>
        /// <param name="account">账户实体对象</param>
        /// <param name="outMessage">返回信息</param>
        /// <param name="db">数据库对象</param>
        /// <param name="tm">事务对象</param>
        public void InitializationQHCapitalAccount(AccountEntity account, out string outMessage, Database db, DbTransaction tm)
        {
            outMessage = string.Empty;
            if (account == null)
            {
                outMessage = "期货资金账户对象为空!";
                return;
            }
            //var _QhCapitalAccount = new SqlQhCapitalAccountTableProvider(TransactionFactory.RC_ConnectionString, true, "");
            QH_CapitalAccountTableDal  dal   = new QH_CapitalAccountTableDal();
            QH_CapitalAccountTableInfo model = new QH_CapitalAccountTableInfo();

            model.AvailableCapital          = 0;
            model.BalanceOfTheDay           = 0;
            model.CapitalBalance            = 0;
            model.FreezeCapitalTotal        = 0;
            model.TodayOutInCapital         = 0;
            model.UserAccountDistributeLogo = account.Account;
            model.TradeCurrencyType         = (int)GTA.VTS.Common.CommonObject.Types.CurrencyType.RMB;
            dal.Add(model, db, tm);
            model.TradeCurrencyType = (int)GTA.VTS.Common.CommonObject.Types.CurrencyType.HK;
            dal.Add(model, db, tm);
            model.TradeCurrencyType = (int)GTA.VTS.Common.CommonObject.Types.CurrencyType.US;
            dal.Add(model, db, tm);
        }
        /// <summary>
        /// 对象实体绑定数据
        /// </summary>
        public QH_CapitalAccountTableInfo ReaderBind(IDataReader dataReader)
        {
            QH_CapitalAccountTableInfo model = new QH_CapitalAccountTableInfo();
            object ojb;

            ojb = dataReader["CapitalAccountLogoId"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.CapitalAccountLogoId = (int)ojb;
            }
            ojb = dataReader["AvailableCapital"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.AvailableCapital = (decimal)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["FreezeCapitalTotal"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.FreezeCapitalTotal = (decimal)ojb;
            }
            ojb = dataReader["CapitalBalance"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.CapitalBalance = (decimal)ojb;
            }
            ojb = dataReader["MarginTotal"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.MarginTotal = (decimal)ojb;
            }
            ojb = dataReader["TradeCurrencyType"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.TradeCurrencyType = (int)ojb;
            }
            ojb = dataReader["CloseFloatProfitLossTotal"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.CloseFloatProfitLossTotal = (decimal)ojb;
            }
            ojb = dataReader["CloseMarketProfitLossTotal"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.CloseMarketProfitLossTotal = (decimal)ojb;
            }
            return(model);
        }
Exemplo n.º 5
0
 /// <summary>
 /// 构造函数重载
 /// </summary>
 /// <param name="gTCapitalObj">期货资金表实体</param>
 /// <param name="dMarketValue">总市值</param>
 /// <param name="currencyName">交易货币名称</param>
 /// <param name="floatProfitLossTotal">总的持仓浮动盈亏</param>
 /// <param name="marketProfitLossTotal">总的持仓盯市盈亏</param>
 public FuturesCapitalEntity(QH_CapitalAccountTableInfo gTCapitalObj, decimal dMarketValue, string currencyName, decimal floatProfitLossTotal, decimal marketProfitLossTotal)
 {
     GTCapitalObj = gTCapitalObj;
     MarketValue  = dMarketValue;
     //AssetAmount = MarketValue + GTCapitalObj.CapitalBalance.Value;
     //AssetAmount = MarketValue + GTCapitalObj.AvailableCapital + GTCapitalObj.FreezeCapitalTotal;
     AssetAmount           = GTCapitalObj.CapitalBalance + gTCapitalObj.MarginTotal;
     CurrencyName          = currencyName;
     FloatProfitLossTotal  = floatProfitLossTotal;
     MarketProfitLossTotal = marketProfitLossTotal;
 }
        /// <summary>
        /// 开是否开启事务增加一条数据
        /// <param name="model">要插入的用户账号对象</param>
        /// <param name="db">操作数据对象</param>
        /// <param name="trm">开启事务对象,如果为null不开启</param>
        /// </summary>
        public int Add(QH_CapitalAccountTableInfo model, Database db, DbTransaction trm)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into QH_CapitalAccountTable(");
            strSql.Append(
                "AvailableCapital,UserAccountDistributeLogo,BalanceOfTheDay,TodayOutInCapital,FreezeCapitalTotal,MarginTotal,TradeCurrencyType,CloseFloatProfitLossTotal,CloseMarketProfitLossTotal)");

            strSql.Append(" values (");
            strSql.Append(
                "@AvailableCapital,@UserAccountDistributeLogo,@BalanceOfTheDay,@TodayOutInCapital,@FreezeCapitalTotal,@MarginTotal,@TradeCurrencyType,@CloseFloatProfitLossTotal,@CloseMarketProfitLossTotal)");
            strSql.Append(";select @@IDENTITY");

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

            db.AddInParameter(dbCommand, "AvailableCapital", DbType.Decimal, model.AvailableCapital);
            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, "FreezeCapitalTotal", DbType.Decimal, model.FreezeCapitalTotal);
            // db.AddInParameter(dbCommand, "CapitalBalance", DbType.Decimal, model.CapitalBalance);//数据库统计约束字段
            db.AddInParameter(dbCommand, "MarginTotal", DbType.Decimal, model.MarginTotal);
            db.AddInParameter(dbCommand, "TradeCurrencyType", DbType.Int32, model.TradeCurrencyType);
            db.AddInParameter(dbCommand, "CloseFloatProfitLossTotal", DbType.Decimal, model.CloseFloatProfitLossTotal);
            db.AddInParameter(dbCommand, "CloseMarketProfitLossTotal", DbType.Decimal, model.CloseMarketProfitLossTotal);
            int    result;
            object obj = null;

            if (trm == null)
            {
                obj = db.ExecuteNonQuery(dbCommand);
            }
            else
            {
                obj = db.ExecuteNonQuery(dbCommand, trm);
            }
            if (!int.TryParse(obj.ToString(), out result))
            {
                return(0);
            }
            return(result);
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public QH_CapitalAccountTableInfo GetModel(int CapitalAccountLogoId)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append(
                "select CapitalAccountLogoId,AvailableCapital,UserAccountDistributeLogo,BalanceOfTheDay,TodayOutInCapital,FreezeCapitalTotal,CapitalBalance,MarginTotal,TradeCurrencyType,CloseFloatProfitLossTotal,CloseMarketProfitLossTotal from QH_CapitalAccountTable ");
            strSql.Append(" where CapitalAccountLogoId=@CapitalAccountLogoId ");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "CapitalAccountLogoId", DbType.Int32, CapitalAccountLogoId);
            QH_CapitalAccountTableInfo model = null;

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                if (dataReader.Read())
                {
                    model = ReaderBind(dataReader);
                }
            }
            return(model);
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public QH_CapitalAccountTableInfo GetQHCapitalAccount(string strCapitalAccount, int iCurrType)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append(
                "select CapitalAccountLogoId,AvailableCapital,UserAccountDistributeLogo,BalanceOfTheDay,TodayOutInCapital,FreezeCapitalTotal,CapitalBalance,MarginTotal,TradeCurrencyType from QH_CapitalAccountTable ");
            strSql.Append(
                " where TradeCurrencyType=@TradeCurrencyType AND UserAccountDistributeLogo=@UserAccountDistributeLogo ");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "TradeCurrencyType", DbType.Int32, iCurrType);
            db.AddInParameter(dbCommand, "UserAccountDistributeLogo", DbType.String, strCapitalAccount);
            QH_CapitalAccountTableInfo model = null;

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

            return(Add(model, db, null));
        }