Пример #1
0
        /// <summary>
        /// 构造器
        /// </summary>
        /// <param name="strCapitalAccount"></param>
        /// <param name="strHoldingAccount"></param>
        /// <param name="strCounterOrderNo"></param>
        /// <param name="buySellType"></param>

        public OrderCacheItem(string strCapitalAccount, string strHoldingAccount, string strCounterOrderNo,
                              GTA.VTS.Common.CommonObject.Types.TransactionDirection buySellType)
        {
            CapitalAccount = strCapitalAccount;
            HoldingAccount = strHoldingAccount;
            CounterOrderNo = strCounterOrderNo;
            BuySellType    = buySellType;
        }
        private int PO_BuildCapitalFreezeRecord(decimal predealCapital, decimal predealCost, GTA.VTS.Common.CommonObject.Types.TransactionDirection buySellType, ReckoningTransaction tm)
        {
            var caft = new XH_CapitalAccountFreezeTableInfo();

            ;
            //委托单号
            caft.EntrustNumber = EntrustNumber;

            //卖不产生冻结金额,只有费用
            if (buySellType == GTA.VTS.Common.CommonObject.Types.TransactionDirection.Buying)
            {
                //冻结 预成交金额
                caft.FreezeCapitalAmount = predealCapital;
            }

            //冻结 预成交费用
            caft.FreezeCost = predealCost;
            //冻结时间
            caft.FreezeTime = DateTime.Now;
            //解冻时间
            caft.ThawTime = DateTime.Now;
            //冻结类型
            caft.FreezeTypeLogo = (int)Types.FreezeType.DelegateFreeze;

            caft.OweCosting = 0;

            caft.CapitalAccountLogo = CapitalAccountId;

            string format =
                "现货资金冻结处理XHBuyOrderLogicFlow.PO_BuildCapitalFreezeRecord[委托单号={0},冻结时间={1},解冻时间={2},冻结类型={3},预成交金额={4},预成交费用={5},资金账户ID={6}]";

            string desc = string.Format(format, caft.EntrustNumber, caft.FreezeTime, caft.ThawTime, caft.FreezeTypeLogo,
                                        caft.FreezeCapitalAmount, caft.FreezeCost, CapitalAccountId);

            LogHelper.WriteDebug(desc);

            XH_CapitalAccountFreezeTableDal dal = new XH_CapitalAccountFreezeTableDal();

            return(dal.Add(caft, tm.Database, tm.Transaction));
        }