/// <summary>
        /// 保存撤单回报
        /// </summary>
        /// <param name="entity">撤单回报</param>
        private bool InsertCancelDealBackEntity(CancelOrderEntity entity, DealBackEntityType type)
        {
            if (HasAddId(entity.Id))
            {
                return(false);
            }

            BD_UnReckonedDealTableInfo table = new BD_UnReckonedDealTableInfo();

            table.id      = entity.Id;
            table.OrderNo = entity.OrderNo;
            table.Message = entity.Message;
            //table.Price = entity.DealPrice;
            table.Amount    = (int)entity.OrderVolume;
            table.IsSuccess = entity.IsSuccess;

            table.EntityType = (int)type;

            string desc = GetCancelDesc(entity);

            LogHelper.WriteDebug("$-------$CrashManager.InsertCancelDealBackEntity" + desc);

            SaveEntity(table);

            //entity.Id = table.Id.ToString();
            AddID(entity.Id);
            return(true);
        }
        /// <summary>
        /// 保存股指期货成交回报
        /// </summary>
        /// <param name="entity">成交回报</param>
        public bool InsertGZQHDealBackEntity(FutureDealBackEntity entity)
        {
            if (HasAddId(entity.Id))
            {
                return(false);
            }

            BD_UnReckonedDealTableInfo table = new BD_UnReckonedDealTableInfo();

            table.id      = entity.Id;
            table.OrderNo = entity.OrderNo;
            table.Price   = entity.DealPrice;
            table.Amount  = (int)entity.DealAmount;
            table.Time    = entity.DealTime;

            table.EntityType = (int)DealBackEntityType.GZXH;

            string desc = GetGZQHDesc(entity);

            LogHelper.WriteDebug("$-------$CrashManager.InsertGZQHDealBackEntity" + desc);

            SaveEntity(table);

            //entity.Id = table.Id.ToString();
            AddID(entity.Id);
            return(true);
        }
        private void ProcessTable(BD_UnReckonedDealTableInfo table)
        {
            switch (table.EntityType)
            {
            case (int)DealBackEntityType.XH:
                ProcessXHTable(table);
                break;

            case (int)DealBackEntityType.HK:
                ProcessHKTable(table);
                break;

            case (int)DealBackEntityType.QH:
                ProcessQHTable(table);
                break;

            case (int)DealBackEntityType.GZXH:
                ProcessGZQHTable(table);
                break;

            case (int)DealBackEntityType.XHResult:
            case (int)DealBackEntityType.QHResult:
            case (int)DealBackEntityType.GZQHResult:
            case (int)DealBackEntityType.HKResult:
                ProcessResultTable(table, table.EntityType);
                break;

            case (int)DealBackEntityType.XHCancel:
            case (int)DealBackEntityType.QHCancel:
            case (int)DealBackEntityType.GZQHCancel:
            case (int)DealBackEntityType.HKCancel:
                ProcessCancelTable(table, table.EntityType);
                break;
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public void Update(BD_UnReckonedDealTableInfo model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update BD_UnReckonedDealTable set ");
            strSql.Append("EntityType=@EntityType,");
            strSql.Append("OrderNo=@OrderNo,");
            strSql.Append("Price=@Price,");
            strSql.Append("Amount=@Amount,");
            strSql.Append("Time=@Time,");
            strSql.Append("Message=@Message,");
            strSql.Append("IsSuccess=@IsSuccess,");
            strSql.Append("CounterID=@CounterID");
            strSql.Append(" where id=@id ");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "id", DbType.String, model.id);
            db.AddInParameter(dbCommand, "EntityType", DbType.Int32, model.EntityType);
            db.AddInParameter(dbCommand, "OrderNo", DbType.String, model.OrderNo);
            db.AddInParameter(dbCommand, "Price", DbType.Decimal, model.Price);
            db.AddInParameter(dbCommand, "Amount", DbType.Int32, model.Amount);
            db.AddInParameter(dbCommand, "Time", DbType.DateTime, model.Time);
            db.AddInParameter(dbCommand, "Message", DbType.String, model.Message);
            db.AddInParameter(dbCommand, "IsSuccess", DbType.Boolean, model.IsSuccess);
            db.AddInParameter(dbCommand, "CounterID", DbType.String, model.CounterID);
            db.ExecuteNonQuery(dbCommand);
        }
        private void ProcessHKTable(BD_UnReckonedDealTableInfo table)
        {
            HKDealBackEntity entity = new HKDealBackEntity();

            entity.ID         = table.id;
            entity.OrderNo    = table.OrderNo;
            entity.DealPrice  = table.Price.Value;
            entity.DealAmount = table.Amount.Value;
            entity.DealTime   = table.Time.Value;

            LogHelper.WriteInfo("$-------$CrashManager.ProcessHKTable重新发送现货成交回报" + GetHKDesc(entity));
            ReckonCenter.Instace.AcceptHKDealOrder(entity);
        }
        private void ProcessQHTable(BD_UnReckonedDealTableInfo table)
        {
            CommoditiesDealBackEntity entity = new CommoditiesDealBackEntity();

            entity.Id         = table.id;
            entity.OrderNo    = table.OrderNo;
            entity.DealPrice  = table.Price.Value;
            entity.DealAmount = table.Amount.Value;
            entity.DealTime   = table.Time.Value;

            LogHelper.WriteInfo("$-------$CrashManager.ProcessXHTable重新发送期货成交回报" + GetQHDesc(entity));

            ReckonCenter.Instace.AcceptSPQHDealOrder(entity);
        }
        private void SaveEntity(BD_UnReckonedDealTableInfo table)
        {
            //陈武民修改 修改时间 2009年07月09日
            table.CounterID = CountID;
            BD_UnReckonedDealTableDal dal = new BD_UnReckonedDealTableDal();

            //TransactionManager tm = TransactionFactory.GetTransactionManager();
            //tm.BeginTransaction();

            try
            {
                dal.Add(table);
                // DataRepository.BdUnReckonedDealTableProvider.Insert(tm, table);
                //tm.Commit();
            }
            catch (Exception ex)
            {
                LogHelper.WriteError("$-------$CrashManager.SaveEntity成交回报保存失败!", ex);
                //tm.Rollback();
            }
        }
        private void ProcessCancelTable(BD_UnReckonedDealTableInfo table, int type)
        {
            CancelOrderEntity entity = new CancelOrderEntity();

            entity.Id          = table.id;
            entity.OrderNo     = table.OrderNo;
            entity.OrderVolume = table.Amount.Value;
            entity.Message     = table.Message;
            entity.IsSuccess   = table.IsSuccess;

            switch (type)
            {
            case (int)DealBackEntityType.XHCancel:
                LogHelper.WriteInfo("$-------$CrashManger.ProcessCancelTable重新发送现货CancelOrderEntity" +
                                    GetCancelDesc(entity));
                ReckonCenter.Instace.AcceptCancelXHOrderRpt(entity);
                break;

            case (int)DealBackEntityType.HKCancel:
                LogHelper.WriteInfo("$-------$CrashManger.ProcessCancelTable重新发送现货CancelOrderEntity" +
                                    GetCancelDesc(entity));
                ReckonCenter.Instace.AcceptCancelHKOrderRpt(entity);
                break;

            case (int)DealBackEntityType.QHCancel:
                LogHelper.WriteInfo("$-------$CrashManger.ProcessCancelTable重新发送期货CancelOrderEntity" +
                                    GetCancelDesc(entity));

                ReckonCenter.Instace.AcceptCancelSPQHOrderRpt(entity);
                break;

            case (int)DealBackEntityType.GZQHCancel:
                LogHelper.WriteInfo("$-------$CrashManger.ProcessCancelTable重新发送股指期货CancelOrderEntity" +
                                    GetCancelDesc(entity));

                ReckonCenter.Instace.AcceptCancelGZQHOrderRpt(entity);
                break;
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public BD_UnReckonedDealTableInfo GetModel(string id)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append(
                "select id,EntityType,OrderNo,Price,Amount,Time,Message,IsSuccess,CounterID from BD_UnReckonedDealTable ");
            strSql.Append(" where id=@id ");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "id", DbType.String, id);
            BD_UnReckonedDealTableInfo model = null;

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                if (dataReader.Read())
                {
                    model = ReaderBind(dataReader);
                }
            }
            return(model);
        }
Exemplo n.º 10
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public void Add(BD_UnReckonedDealTableInfo model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into BD_UnReckonedDealTable(");
            strSql.Append("id,EntityType,OrderNo,Price,Amount,Time,Message,IsSuccess,CounterID)");

            strSql.Append(" values (");
            strSql.Append("@id,@EntityType,@OrderNo,@Price,@Amount,@Time,@Message,@IsSuccess,@CounterID)");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "id", DbType.String, model.id);
            db.AddInParameter(dbCommand, "EntityType", DbType.Int32, model.EntityType);
            db.AddInParameter(dbCommand, "OrderNo", DbType.String, model.OrderNo);
            db.AddInParameter(dbCommand, "Price", DbType.Decimal, model.Price);
            db.AddInParameter(dbCommand, "Amount", DbType.Int32, model.Amount);
            db.AddInParameter(dbCommand, "Time", DbType.DateTime, model.Time);
            db.AddInParameter(dbCommand, "Message", DbType.String, model.Message);
            db.AddInParameter(dbCommand, "IsSuccess", DbType.Boolean, model.IsSuccess);
            db.AddInParameter(dbCommand, "CounterID", DbType.String, model.CounterID);
            db.ExecuteNonQuery(dbCommand);
        }
        private void ProcessResultTable(BD_UnReckonedDealTableInfo table, int type)
        {
            ResultDataEntity entity = new ResultDataEntity();

            entity.Id      = table.id;
            entity.OrderNo = table.OrderNo;
            entity.Message = table.Message;

            switch (type)
            {
            case (int)DealBackEntityType.XHResult:
                LogHelper.WriteInfo("$-------$CrashManger.ProcessResultTable重新发送现货ResultDataEntity" +
                                    GetResultDesc(entity));
                ReckonCenter.Instace.AcceptXHErrorOrderRpt(entity);
                break;

            case (int)DealBackEntityType.HKResult:
                LogHelper.WriteInfo("$-------$CrashManger.ProcessResultTable重新发送现货ResultDataEntity" +
                                    GetResultDesc(entity));
                ReckonCenter.Instace.AcceptHKErrorOrderRpt(entity);
                break;

            case (int)DealBackEntityType.QHResult:
                LogHelper.WriteInfo("$-------$CrashManger.ProcessResultTable重新发送期货ResultDataEntity" +
                                    GetResultDesc(entity));

                ReckonCenter.Instace.AcceptSPQHErrorOrderRpt(entity);
                break;

            case (int)DealBackEntityType.GZQHResult:
                LogHelper.WriteInfo("$-------$CrashManger.ProcessResultTable重新发送股指期货ResultDataEntity" +
                                    GetResultDesc(entity));

                ReckonCenter.Instace.AcceptGZQHErrorOrderRpt(entity);
                break;
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// 对象实体绑定数据
        /// </summary>
        public BD_UnReckonedDealTableInfo ReaderBind(IDataReader dataReader)
        {
            BD_UnReckonedDealTableInfo model = new BD_UnReckonedDealTableInfo();
            object ojb;

            model.id = dataReader["id"].ToString();
            ojb      = dataReader["EntityType"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.EntityType = (int)ojb;
            }
            model.OrderNo = dataReader["OrderNo"].ToString();
            ojb           = dataReader["Price"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Price = (decimal)ojb;
            }
            ojb = dataReader["Amount"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Amount = (int)ojb;
            }
            ojb = dataReader["Time"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Time = (DateTime)ojb;
            }
            model.Message = dataReader["Message"].ToString();
            ojb           = dataReader["IsSuccess"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.IsSuccess = (bool)ojb;
            }
            model.CounterID = dataReader["CounterID"].ToString();
            return(model);
        }