public void InsertOrder(Order order) { if (order == null) throw new ArgumentNullException("order"); if (order.Instrument != Instrument) throw new OrderIsNotForThisBookException(); OrderReceived(); //the strategy can change at runtime so lock here and in OrderProcessingStrategy property lock (m_Locker) OrderProcessingStrategy.InsertOrder(order); }
public void SubmitOrder(Order order) { if (order == null) throw new ArgumentNullException("order"); OrderBook.OrderBook orderBook = this[order.Instrument]; //StartTimersOnFirstOrder(); orderBook.InsertOrder(order); }