/// <summary> /// 增加一条数据 /// </summary> public static void Add(CancelEntity model, int breedClassType) { try { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into CancelOrderRecovery("); strSql.Append("OrderNo,ChannelNo,CancelCount,Code,BreedClassType)"); strSql.Append(" values ("); strSql.Append("@OrderNo,@ChannelNo,@CancelCount,@Code,@BreedClassType)"); Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()); //db.AddInParameter(dbCommand, "ID", DbType.Guid, model.ID); db.AddInParameter(dbCommand, "OrderNo", DbType.AnsiString, model.OldOrderNo); db.AddInParameter(dbCommand, "ChannelNo", DbType.AnsiString, model.ChannelNo); db.AddInParameter(dbCommand, "CancelCount", DbType.Int32, model.CancelCount); db.AddInParameter(dbCommand, "Code", DbType.AnsiString, model.StockCode); db.AddInParameter(dbCommand, "BreedClassType", DbType.Int32, breedClassType); //db.AddInParameter(dbCommand, "CreateDate", DbType.DateTime, model.CreateDate); db.ExecuteNonQuery(dbCommand); } catch (Exception ex) { LogHelper.WriteError("CH-111:数据库连接受阻添加当日要恢复的撤单数据异常", ex); } }
/// <summary> /// 现货撤单 /// </summary> /// <param name="dataOrder">撤销委托单</param> /// <returns></returns> public CancelResultEntity CancelStockOrder(CancelEntity dataOrder) { if (dataOrder == null) { return(null); } return(MatchCenterManager.Instance.CancelOrder(dataOrder)); }
/// <summary> /// 商品期货委托撤单 /// </summary> /// <param name="dataOrder"></param> /// <returns></returns> public CancelResultEntity CancelCommoditiesOrder(CancelEntity dataOrder) { //委托单不能为空 if (dataOrder == null) { return(null); } return(MatchCenterManager.Instance.CancelCommoditiesOrder(dataOrder)); }
/// <summary> /// 撤销委托单 /// </summary> /// <param name="model">委托单</param> public void CancelOrder(CancelEntity model) { if (model == null) { return; } //bool cancel = false; var dataEntity = new CancelOrderEntity(); dataEntity.OrderNo = model.OldOrderNo; string code = Guid.NewGuid().ToString(); //id dataEntity.Id = code; //撮合中心委托单号 if (string.IsNullOrEmpty(model.OldOrderNo)) { return; } decimal cancount = 0.00m; dataEntity.IsSuccess = false; dataEntity.Message = "撤单失败,委托单不存在。"; OperationContext context = null; if (model.ChannelNo != null) { if (MatchCenterManager.Instance.OperationContexts.ContainsKey(model.ChannelNo)) { context = MatchCenterManager.Instance.OperationContexts[model.ChannelNo]; } } //撮合中心上下文不能为空 if (context == null) { return; } try { dataEntity.OrderVolume = 0.00m; var callback = context.GetCallbackChannel <IDoOrderCallback>(); if (callback != null) { //var md = new CancelOrderDelegate(callback.CancelStockIndexFuturesOrderRpt); //md.BeginInvoke(dataEntity, null, null); callback.CancelStockIndexFuturesOrderRpt(dataEntity); } LogHelper.WriteDebug(" 撤单失败[" + "委托id=" + code + "委托代码=" + model.StockCode + ",撤单时间=" + DateTime.Now + ",委托单号码=" + model.OldOrderNo + ",撤单数量=" + cancount + "]"); } catch (Exception ex) { LogHelper.WriteError("CH-0001:撤单失败wcf服务通道阻塞", ex); return; } }
/// <summary> /// 撤消委托单 /// </summary> /// <param name="model">委托实体</param> public void CancelOrder(CancelEntity model) { LogHelper.WriteDebug("[撮合单元运行撤销委托单方法]"); //委托实体为空 if (model == null) { return; } //bool cancel = false; string code = Guid.NewGuid().ToString(); var dataEntity = new CancelOrderEntity(); //id dataEntity.Id = code; //委托单号码 dataEntity.OrderNo = model.OldOrderNo; //通道号码 dataEntity.ChannelNo = model.ChannelNo; decimal cancount = 0.00m; dataEntity.IsSuccess = false; dataEntity.Message = "撤单失败,委托单不存在。"; OperationContext context = null; //通道号码不能为空 if (model.ChannelNo != null) { if (MatchCenterManager.Instance.OperationContexts.ContainsKey((model.ChannelNo))) { context = MatchCenterManager.Instance.OperationContexts[model.ChannelNo]; } } //上下文不能为空 if (context == null) { return; } try { var callback = context.GetCallbackChannel <IDoOrderCallback>(); if (callback != null) { callback.CancelStockOrderRpt(dataEntity); } LogHelper.WriteDebug(" 撤单失败[" + "委托id=" + code + "委托代码=" + model.StockCode + ",撤单时间=" + DateTime.Now + ",委托单号码=" + model.OldOrderNo + ",撤单数量=" + cancount + "]"); } catch (Exception ex) { LogHelper.WriteError("CH-100:撤单wcf服务通道异常", ex); TradePushBackImpl.Instanse.SaveXHCancelBack(dataEntity); } }
/// <summary> /// 对象实体绑定数据 /// </summary> public static CancelEntity ReaderBind(IDataReader dataReader) { CancelEntity model = new CancelEntity(); object ojb; model.OldOrderNo = dataReader["OrderNo"].ToString(); model.ChannelNo = dataReader["ChannelNo"].ToString(); ojb = dataReader["CancelCount"]; if (ojb != null && ojb != DBNull.Value) { model.CancelCount = (int)ojb; } model.StockCode = dataReader["Code"].ToString(); return(model); }
/// <summary> /// 商品期货撤单 /// </summary> /// <param name="model">委托单</param> /// <returns></returns> public CancelResultEntity CancelCommoditiesOrder(CancelEntity model) { //委托不能为空 if (model == null || string.IsNullOrEmpty(model.StockCode) || string.IsNullOrEmpty(model.OldOrderNo)) { return(null); } if (matchDevices != null) { if (matchDevices.ContainsKey(model.StockCode.Trim())) { return(matchDevices[model.StockCode.Trim()].CancelCommoditiesOrder(model)); } } return(null); }
/// <summary> /// 得到一个对象实体 /// </summary> public static CancelEntity GetModel(string orderNo) { StringBuilder strSql = new StringBuilder(); strSql.Append("select OrderNo,ChannelNo,CancelCount,Code from CancelOrderRecovery "); strSql.Append(" where OrderNo=@orderNo "); Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()); db.AddInParameter(dbCommand, "OrderNo", DbType.AnsiString, orderNo); CancelEntity model = null; using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { if (dataReader.Read()) { model = ReaderBind(dataReader); } } return(model); }
/// <summary> /// 添加撤单实体 /// </summary> /// <param name="cancelEntity">撤单实体</param> public override void Add(CancelEntity cancelEntity) { bufferCommoditiesCancel.InsertQueueItem(cancelEntity); }
private void Cancel_Stitching_BindBusiness(List <CancelEntity> cancellist, ExcelWorksheet ws) { var userEntity = (UserEntity)Session["ID"]; for (var rowNumber = 1; rowNumber <= ws.Dimension.End.Row; rowNumber++) #region for Loop Row { var cancelEntity = new CancelEntity(); cancelEntity.ID = GeneralUtility.GeneratedKey; #region Populate Excel data for (var colNumber = 1; colNumber <= ws.Dimension.End.Column; colNumber++) { var columnName1 = ws.Cells[1, colNumber].Value.ToString().Trim(); try { if (true && rowNumber > 1) { switch (columnName1) { #region //case 1: case "user id": //QAT cancelEntity.QAT = Convert.ToString(ws.Cells[rowNumber, colNumber].Value); break; //case 2: case "Total Deduct Count": cancelEntity.Stitching = Convert.ToDecimal(ws.Cells[rowNumber, colNumber].Value); break; #endregion default: break; #endregion } } } catch (Exception ex) { Response.Redirect("error.aspx"); throw ex; } } if (rowNumber > 1) { cancelEntity.Center = ddlCenterName.SelectedValue.ToString(); cancelEntity.CancelMonth = GeneralUtility.ConvertMonthYearStringFormat(txtImportDate.Text); cancelEntity.CreatedDate = GeneralUtility.ConvertSystemDateStringFormat(System.DateTime.Now); cancelEntity.Createdby = userEntity.ID; cancellist.Add(cancelEntity); } #endregion } }
/// <summary> /// 添加撤单实体 /// </summary> /// <param name="cancelEntity">撤单实体</param> public override void Add(CancelEntity cancelEntity) { bufferFutureCancel.InsertQueueItem(cancelEntity); }
/// <summary> /// 添加撤单回报 /// </summary> /// <param name="cancelEntity">撤单实体</param> public abstract void Add(CancelEntity cancelEntity);