/// <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); }
/// <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); }
/// <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)); }