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