private static void RequestTicker(string ticker, SessionID sessionId) { if (sessionId == null) { return; } Message msg; try { msg = MakeQuoteRequest(ticker, sessionId); } catch (Exception ex) { Logger.Error("QuoteRequest.RequestTicker: ошибка форматирования сообщения", ex); return; } if (msg == null) { Logger.ErrorFormat("Ошибка сборки сообщения (запрос котировки) для {0}, {1}", ticker, sessionId); return; } try { Logger.InfoFormat("Отправка запроса \"{0}\": {1}", ticker, msg); FixApplication.SendMessage(msg); } catch (Exception ex) { Logger.Error("QuoteRequest.RequestTicker: ошибка отправки сообщения", ex); } }
private static void ProcessMarketOrder(string queueName, MarketOrder[] orders) { var sessionInfo = SessionInfo.Instance.dicQueueSession.First(s => s.MessageQueue == queueName); Logger.InfoFormat("Получено {0} ордеров из очереди {1}", orders.Length, queueName); foreach (var order in orders) { Message msg; try { msg = FixMessageMaker.Instance.MakeMessage(order, sessionInfo); } catch (Exception ex) { Logger.Error("ProcessMarketOrder: ошибка форматирования сообщения", ex); continue; } if (msg == null) { continue; } try { FixApplication.SendMessage(msg); } catch (Exception ex) { Logger.Error("ProcessMarketOrder: ошибка отправки сообщения", ex); } } }