private void NotifyExecutions(Com.Lmax.Api.Order.Order order) { foreach (ExecutionBuilder executionBuilder in (IEnumerable <ExecutionBuilder>) this._executionEventHandler.GetExecutionBuilders()) { executionBuilder.Order(order); Execution execution = executionBuilder.NewInstance(); if (OrderStateEventHandler.IsExecutionForOrder(order, execution) && this.ExecutionEvent != null) { this.ExecutionEvent(execution); } } this._executionEventHandler.Clear(); }
private bool ShouldEmitOrder(Com.Lmax.Api.Order.Order order) { return(this._executionEventHandler.GetExecutionBuilders().Count == 0 || OrderStateEventHandler.IsExecutionForOrder(order, this._executionEventHandler.GetExecutionBuilders()[0].NewInstance())); }