/// <summary>
        /// 事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        //private void ScheduleMessageBuffer_QueueItemProcessEvent(object sender,
        //                                                         QueueItemHandleEventArg<OrderCacheMessageAccpetItem> e)
        //{
        //    //开市处理
        //    if (e.Item.Args.TimeType == Entity.Contants.Types.TradingTimeType.MacthBeginWork
        //        //||e.Item.Args.TimeType == Types.TradingTimeType.Open
        //        )
        //    {
        //        string code = e.Item.Commodity.CommodityCode;

        //        //现货
        //        if (e.Item.BreedClassType == Types.BreedClassTypeEnum.Stock)
        //        {
        //            if (this._XHOrderContainer.ContainsKey(code))
        //            {
        //                if (IsTimeDone(code))
        //                {
        //                    var xHList = this._XHOrderContainer[code];
        //                    foreach (var value in xHList.Values)
        //                    {
        //                        SendXHValue(value);
        //                    }
        //                }
        //            }


        //            //商品期货
        //        }
        //        else if (e.Item.BreedClassType == Types.BreedClassTypeEnum.CommodityFuture)
        //        {
        //            if (this._QHOrderContainer.ContainsKey(code))
        //            {
        //                if (IsTimeDone(code))
        //                {
        //                    var xHList = this._QHOrderContainer[code];
        //                    foreach (var value in xHList.Values)
        //                    {
        //                        SendSPQHValue(value);
        //                    }
        //                }
        //            }
        //        } //股指期货
        //        else if (e.Item.BreedClassType == Types.BreedClassTypeEnum.StockIndexFuture)
        //        {
        //            if (this._GZQHOrderContainer.ContainsKey(code))
        //            {
        //                if (IsTimeDone(code))
        //                {
        //                    var xHList = this._GZQHOrderContainer[code];
        //                    foreach (var value in xHList.Values)
        //                    {
        //                        SendGZQHValue(value);
        //                    }
        //                }
        //            }
        //        }
        //    }

        //    //收市处理,清除委托缓存
        //    if (e.Item.Args.TimeType == Entity.Contants.Types.TradingTimeType.MatchEndWork)
        //    {
        //        //LogHelper.WriteDebug("OrderCache:收市处理,清除委托缓存");
        //        _XHOrderContainer.Clear();
        //        _QHOrderContainer.Clear();
        //        _GZQHOrderContainer.Clear();
        //    }
        //}

        #region Cache Order
        /// <summary>
        /// 缓存现货
        /// </summary>
        /// <param name="orderRequest"></param>
        public bool CacheStockOrder(XhTodayEntrustTableEx orderRequest)
        {
            bool result = false;

            if (orderRequest != null && orderRequest.OriginalEntity != null)
            {
                if (orderRequest.IsCacheOrder)
                {
                    return(true);
                }

                try
                {
                    orderRequest.IsCacheOrder = true;
                    string strCode    = orderRequest.OriginalEntity.SpotCode;
                    string strOrderId = orderRequest.OriginalEntity.EntrustNumber;
                    if (_XHOrderContainer.ContainsKey(strCode))
                    {
                        var levelOneItem = _XHOrderContainer[strCode];
                        if (levelOneItem == null)
                        {
                            levelOneItem = new Dictionary <string, XhTodayEntrustTableEx>();
                        }

                        if (levelOneItem.ContainsKey(strOrderId))
                        {
                            LogHelper.WriteDebug("OrderCache.CacheStockOrder:已经缓存委托单" + strOrderId);
                        }
                        else
                        {
                            levelOneItem.Add(strOrderId, orderRequest);
                        }
                    }
                    else
                    {
                        var levelOneItem = new Dictionary <string, XhTodayEntrustTableEx>();
                        levelOneItem.Add(strOrderId, orderRequest);
                        _XHOrderContainer.Add(strCode, levelOneItem);
                    }

                    result = true;
                }
                catch (Exception ex)
                {
                    string strMessage = "GT-2114:[现货报盘]缓存未开市委托异常。";
                    orderRequest.OriginalEntity.OrderMessage = strMessage;
                    OrderOfferDataLogic.UpdateStockOrderMessage(orderRequest.OriginalEntity);
                    LogHelper.WriteError(strMessage, ex);
                    result = false;
                }
            }

            return(result);
        }
        private void LoadXHOrderFromDB()
        {
            string format = "OrderStatusId = '{0}'";

            string where = string.Format(format, (int)Entity.Contants.Types.OrderStateType.DOSUnRequired);
            XH_TodayEntrustTableDal         dal  = new XH_TodayEntrustTableDal();
            List <XH_TodayEntrustTableInfo> list = null;

            try
            {
                //list = DataRepository.XhTodayEntrustTableProvider.Find(where);
                list = dal.GetListArray(where);
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex.Message, ex);
            }

            if (Utils.IsNullOrEmpty(list))
            {
                return;
            }

            DateTime now = DateTime.Now;

            foreach (XH_TodayEntrustTableInfo table in list)
            {
                //DateTime entrustTime = table.EntrustTime.Value;
                //if (entrustTime.Year == now.Year && entrustTime.Month == now.Month && entrustTime.Day == now.Day)
                //{
                //    CacheStockOrder(new XhTodayEntrustTableEx(table));
                //}

                //不再判断是否是当天
                var order = new XhTodayEntrustTableEx(table);
                CacheStockOrder(order);
            }
        }
        private void SendXHValue(XhTodayEntrustTableEx value)
        {
            if (value.HasSendCacheOrder)
            {
                return;
            }

            //if(!IsTimeDone(value.OriginalEntity.SpotCode))
            //    return;

            try
            {
                value.HasSendCacheOrder = true;
                this.XHOfferWakeupEvent(this, new WakeupEventArgs <XhTodayEntrustTableEx>(value));
            }
            catch (Exception ex)
            {
                string strMessage = "GT-2111:[现货报盘]缓存未开市委托唤醒异常";
                value.OriginalEntity.OrderMessage = strMessage;
                OrderOfferDataLogic.UpdateStockOrderMessage(value.OriginalEntity);
                LogHelper.WriteError(ex.Message, ex);
            }
        }