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