Ejemplo n.º 1
0
        /// <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));
 }
Ejemplo n.º 4
0
        /// <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;
            }
        }
Ejemplo n.º 5
0
        /// <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);
            }
        }
Ejemplo n.º 6
0
        /// <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);
 }
Ejemplo n.º 8
0
        /// <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);
        }
Ejemplo n.º 9
0
 /// <summary>
 /// 添加撤单实体
 /// </summary>
 /// <param name="cancelEntity">撤单实体</param>
 public override void Add(CancelEntity cancelEntity)
 {
     bufferCommoditiesCancel.InsertQueueItem(cancelEntity);
 }
Ejemplo n.º 10
0
        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
            }
        }
Ejemplo n.º 11
0
 /// <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);