Beispiel #1
0
        /// <summary>
        /// 更新现货持仓
        /// </summary>
        /// <param name="cAvaliable"></param>
        /// <param name="cFreeeze"></param>
        /// <param name="transactionManager"></param>
        /// <param name="holdAccountId"></param>
        /// <returns></returns>
        public static bool UpdateXHHoldAccount(decimal cAvaliable, decimal cFreeeze,
                                               ReckoningTransaction transactionManager, int holdAccountId)
        {
            int results = 0;

            string strSql = string.Empty;

            //var database = new SqlDatabase(TransactionFactory.RC_ConnectionString);
            var database = DataManager.GetDatabase();

            strSql = "UPDATE [XH_AccountHoldTable] SET [AvailableAmount] = [AvailableAmount] + @AvailableHold"
                     + ",[FreezeAmount] = [FreezeAmount] + @FreezeHold"
                     + "WHERE [AccountHoldLogoId] = @holdAccountId";


            DbCommand commandWrapper = GetDBCommand(database, strSql);

            database.AddInParameter(commandWrapper, "@AvailableHold", DbType.Decimal, cAvaliable);
            database.AddInParameter(commandWrapper, "@holdAccountId", DbType.Int32, holdAccountId);
            database.AddInParameter(commandWrapper, "@FreezeHold", DbType.Decimal, cFreeeze);

            if (transactionManager != null)
            {
                results = DbHelperSQL.ExecuteCountSql(strSql, transactionManager);
            }
            else
            {
                results = DbHelperSQL.ExecuteCountSql(strSql);
            }

            return(Convert.ToBoolean(results));
        }
Beispiel #2
0
        /// <summary>
        /// 更新现货持仓
        /// </summary>
        /// <param name="scale"></param>
        /// <param name="others"></param>
        /// <param name="dealAmount"></param>
        /// <param name="strHoldAccount"></param>
        /// <param name="strCode"></param>
        /// <param name="iCurrType"></param>
        /// <param name="transactionManager"></param>
        /// <returns></returns>
        public static bool UpdateXHHoldAccount_Sell(decimal scale,
                                                    decimal others,
                                                    decimal dealAmount,
                                                    string strHoldAccount,
                                                    string strCode,
                                                    int iCurrType, ReckoningTransaction transactionManager)
        {
            int results = 0;

            var database = DataManager.GetDatabase();

            //卖出不需要计算保本价
            string strSql = "UPDATE [XH_AccountHoldTable]"
                            + " SET [FreezeAmount] = [FreezeAmount] + @dealAmount"
                            //+ ",[BreakevenPrice] = ([CostPrice] + @others)/(1 - @scale)"
                            +
                            "WHERE UserAccountDistributeLogo = @strHoldAccount AND Code = @strCode AND CurrencyTypeId=@iCurrType";

            DbCommand commandWrapper = GetDBCommand(database, strSql);

            //database.AddInParameter(commandWrapper, "@scale", DbType.Decimal, scale);
            //database.AddInParameter(commandWrapper, "@others", DbType.Decimal, others);
            database.AddInParameter(commandWrapper, "@dealAmount", DbType.Decimal, dealAmount);
            database.AddInParameter(commandWrapper, "@strHoldAccount", DbType.String, strHoldAccount);
            database.AddInParameter(commandWrapper, "@strCode", DbType.String, strCode);
            database.AddInParameter(commandWrapper, "@iCurrType", DbType.Int32, iCurrType);
            //database.AddOutParameter(commandWrapper, "@iHoldAccountId", DbType.Int32, 4);
            if (transactionManager != null)
            {
                results = DbHelperSQL.ExecuteCountSql(strSql, transactionManager);
            }
            else
            {
                results = DbHelperSQL.ExecuteCountSql(strSql);
            }

            return(Convert.ToBoolean(results));
        }