/// <summary>
        /// 注册
        /// </summary>
        /// <param name="source"></param>
        public void Register(IOrderSubmitEventSource source)
        {
            if (source == null || !_config.AutoCloseSubmit || !source.Query.EnableAutoPreSubmit)
            {
                return;
            }

            lock (_lockObject)
            {
                if (_sources.ContainsKey(source))
                {
                    return;
                }

                source.AutoResumeAttached = true;
                var query   = source.Query;
                var context = CreateSourceSubmitContext(query);
                _sources.Add(source, context);

                if (context.UsingSharedContext)
                {
                    EnsureCreateSharedSubmitContext(source);
                }

                source.AutoVcFailed        += source_AutoVcFailed;
                source.InitSubmitFailed    += source_InitSubmitFailed;
                source.OperationPerformed  += source_OperationPerformed;
                source.QueueFailedElse     += source_QueueFailedElse;
                source.QueueFailedNoTicket += source_QueueFailedNoTicket;
                source.SubmitClosed        += source_SubmitClosed;
                source.SubmitFailed        += source_SubmitFailed;
                source.UserEnterReady      += Source_UserEnterReady;

                var train  = source.Train;
                var result = train.QueryResult;


                Events.OnMessage(this, new EventInfoArgs("正在提交订单 {0:MM-dd} {1} 次 {2} 至 {3} 。".FormatWith(result.Date, source.Train.Code, source.Train.FromStation.StationName, source.Train.ToStation.StationName)));
            }
        }
 public SourceSubmitContext GetContext(IOrderSubmitEventSource source)
 {
     return(_sources.GetValue(source));
 }