Esempio n. 1
0
        /// <summary>
        /// 带事物更新数据
        /// </summary>
        /// <param name="model">实体</param>
        /// <param name="db">Database</param>
        /// <param name="transaction">DbTransaction</param>
        public bool UpdateRecord(XH_AcccountHoldFreezeTableInfo model, Database db, DbTransaction transaction)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update XH_AcccountHoldFreezeTable set ");
            strSql.Append("FreezeTime=@FreezeTime,");
            strSql.Append("prepareFreezeAmount=@prepareFreezeAmount,");
            strSql.Append("ThawTime=@ThawTime,");
            strSql.Append("FreezeTypeLogo=@FreezeTypeLogo,");
            strSql.Append("AccountHoldLogo=@AccountHoldLogo,");
            strSql.Append("EntrustNumber=@EntrustNumber");
            strSql.Append("where HoldFreezeLogoId=@HoldFreezeLogoId ");
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "HoldFreezeLogoId", DbType.Int32, model.HoldFreezeLogoId);
            db.AddInParameter(dbCommand, "FreezeTime", DbType.DateTime, model.FreezeTime);
            db.AddInParameter(dbCommand, "prepareFreezeAmount", DbType.Int32, model.PrepareFreezeAmount);
            db.AddInParameter(dbCommand, "ThawTime", DbType.DateTime, model.ThawTime);
            db.AddInParameter(dbCommand, "FreezeTypeLogo", DbType.Int32, model.FreezeTypeLogo);
            db.AddInParameter(dbCommand, "AccountHoldLogo", DbType.Int32, model.AccountHoldLogo);
            db.AddInParameter(dbCommand, "EntrustNumber", DbType.AnsiString, model.EntrustNumber);
            try
            {
                db.ExecuteNonQuery(dbCommand, transaction);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
        /// <summary>
        /// 现货持仓冻结处理
        /// </summary>
        /// <param name="tm"></param>
        /// <returns></returns>
        private int PO_BuildHoldFreezeRecord(ReckoningTransaction tm)
        {
            LogHelper.WriteDebug("现货持仓冻结处理XHSellOrderLogicFlow.PO_ProcessXhHoldingAccountFreeze");

            var ahft = new XH_AcccountHoldFreezeTableInfo();

            //现货持仓帐户标识
            ahft.AccountHoldLogo = HoldingAccountId;
            //委托单号
            ahft.EntrustNumber = EntrustNumber;
            //冻结时间
            ahft.FreezeTime = DateTime.Now;
            //解冻时间
            ahft.ThawTime = DateTime.Now;
            //冻结数量
            //decimal unitMultiple = MCService.GetTradeUnitScale(stockorder.Code, stockorder.OrderUnitType);
            decimal orderAmount = Convert.ToDecimal(Request.OrderAmount); // *unitMultiple;

            ahft.PrepareFreezeAmount = Convert.ToInt32(orderAmount);
            //冻结类型
            ahft.FreezeTypeLogo = (int)Types.FreezeType.DelegateFreeze;

            //string format = "现货持仓冻结处理[委托单号={0},冻结总量={1},冻结时间={2},解冻时间={3},冻结类型={4},现货帐户持仓标识={5},]";
            //string desc = string.Format(format, ahft.EntrustNumber, ahft.PrepareFreezeAmount, ahft.FreezeTime,
            //                            ahft.ThawTime, ahft.FreezeTypeLogo, ahft.HoldFreezeLogoId);
            //LogHelper.WriteDebug(desc);

            XH_AcccountHoldFreezeTableDal dal = new XH_AcccountHoldFreezeTableDal();

            return(dal.Add(ahft, tm.Database, tm.Transaction));
        }
Esempio n. 3
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public bool AddRecord(XH_AcccountHoldFreezeTableInfo model, Database db, DbTransaction transaction)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into XH_AcccountHoldFreezeTable(");
            strSql.Append("FreezeTime,prepareFreezeAmount,ThawTime,FreezeTypeLogo,AccountHoldLogo,EntrustNumber)");

            strSql.Append(" values (");
            strSql.Append("@FreezeTime,@prepareFreezeAmount,@ThawTime,@FreezeTypeLogo,@AccountHoldLogo,@EntrustNumber)");
            strSql.Append(";select @@IDENTITY");
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "FreezeTime", DbType.DateTime, model.FreezeTime);
            db.AddInParameter(dbCommand, "prepareFreezeAmount", DbType.Int32, model.PrepareFreezeAmount);
            db.AddInParameter(dbCommand, "ThawTime", DbType.DateTime, model.ThawTime);
            db.AddInParameter(dbCommand, "FreezeTypeLogo", DbType.Int32, model.FreezeTypeLogo);
            db.AddInParameter(dbCommand, "AccountHoldLogo", DbType.Int32, model.AccountHoldLogo);
            db.AddInParameter(dbCommand, "EntrustNumber", DbType.AnsiString, model.EntrustNumber);
            int    result;
            object obj = db.ExecuteScalar(dbCommand, transaction);

            if (!int.TryParse(obj.ToString(), out result))
            {
                return(false);
            }
            model.HoldFreezeLogoId = result;
            return(true);
        }
Esempio n. 4
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public XH_AcccountHoldFreezeTableInfo GetModelWithNoLock(int FreezeTypeLogo, string entrustNumber)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select HoldFreezeLogoId,FreezeTime,prepareFreezeAmount,ThawTime,FreezeTypeLogo,AccountHoldLogo,EntrustNumber from XH_AcccountHoldFreezeTable WITH (NOLOCK)");
            strSql.Append(" where FreezeTypeLogo=@FreezeTypeLogo and EntrustNumber=@EntrustNumber");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "FreezeTypeLogo", DbType.Int32, FreezeTypeLogo);
            db.AddInParameter(dbCommand, "EntrustNumber", DbType.AnsiString, entrustNumber);
            XH_AcccountHoldFreezeTableInfo model = null;

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                if (dataReader.Read())
                {
                    model = ReaderBind(dataReader);
                }
            }
            return(model);
        }
Esempio n. 5
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public XH_AcccountHoldFreezeTableInfo GetModel(int HoldFreezeLogoId)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append(
                "select HoldFreezeLogoId,FreezeTime,prepareFreezeAmount,ThawTime,FreezeTypeLogo,AccountHoldLogo,EntrustNumber from XH_AcccountHoldFreezeTable ");
            strSql.Append(" where HoldFreezeLogoId=@HoldFreezeLogoId ");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "HoldFreezeLogoId", DbType.Int32, HoldFreezeLogoId);
            XH_AcccountHoldFreezeTableInfo model = null;

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                if (dataReader.Read())
                {
                    model = ReaderBind(dataReader);
                }
            }
            return(model);
        }
Esempio n. 6
0
        /// <summary>
        /// 对象实体绑定数据
        /// </summary>
        public XH_AcccountHoldFreezeTableInfo ReaderBind(IDataReader dataReader)
        {
            XH_AcccountHoldFreezeTableInfo model = new XH_AcccountHoldFreezeTableInfo();
            object ojb;

            ojb = dataReader["HoldFreezeLogoId"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.HoldFreezeLogoId = (int)ojb;
            }
            ojb = dataReader["FreezeTime"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.FreezeTime = (DateTime)ojb;
            }
            ojb = dataReader["prepareFreezeAmount"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.PrepareFreezeAmount = (int)ojb;
            }
            ojb = dataReader["ThawTime"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.ThawTime = (DateTime)ojb;
            }
            ojb = dataReader["FreezeTypeLogo"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.FreezeTypeLogo = (int)ojb;
            }
            ojb = dataReader["AccountHoldLogo"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.AccountHoldLogo = (int)ojb;
            }
            model.EntrustNumber = dataReader["EntrustNumber"].ToString();
            return(model);
        }
Esempio n. 7
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public void Update(XH_AcccountHoldFreezeTableInfo model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update XH_AcccountHoldFreezeTable set ");
            strSql.Append("FreezeTime=@FreezeTime,");
            strSql.Append("prepareFreezeAmount=@prepareFreezeAmount,");
            strSql.Append("ThawTime=@ThawTime,");
            strSql.Append("FreezeTypeLogo=@FreezeTypeLogo,");
            strSql.Append("AccountHoldLogo=@AccountHoldLogo,");
            strSql.Append("EntrustNumber=@EntrustNumber");
            strSql.Append("where HoldFreezeLogoId=@HoldFreezeLogoId ");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "HoldFreezeLogoId", DbType.Int32, model.HoldFreezeLogoId);
            db.AddInParameter(dbCommand, "FreezeTime", DbType.DateTime, model.FreezeTime);
            db.AddInParameter(dbCommand, "prepareFreezeAmount", DbType.Int32, model.PrepareFreezeAmount);
            db.AddInParameter(dbCommand, "ThawTime", DbType.DateTime, model.ThawTime);
            db.AddInParameter(dbCommand, "FreezeTypeLogo", DbType.Int32, model.FreezeTypeLogo);
            db.AddInParameter(dbCommand, "AccountHoldLogo", DbType.Int32, model.AccountHoldLogo);
            db.AddInParameter(dbCommand, "EntrustNumber", DbType.AnsiString, model.EntrustNumber);
            db.ExecuteNonQuery(dbCommand);
        }