public ImmutableArray <Order> GetAll() { using (_contextFactory.GetReadSyncContext($"{nameof(OrdersCache)}.{nameof(GetAll)}")) return(ActiveOrders.GetAllOrders() .Union(WaitingForExecutionOrders.GetAllOrders()) .Union(ClosingOrders.GetAllOrders()).ToImmutableArray()); }
public Order GetOrderById(string orderId) { if (WaitingForExecutionOrders.TryGetOrderById(orderId, out var result)) { return(result); } if (ActiveOrders.TryGetOrderById(orderId, out result)) { return(result); } throw new Exception(string.Format(MtMessages.OrderNotFound, orderId)); }
public ImmutableArray <Order> GetPending() { return(WaitingForExecutionOrders.GetAllOrders().ToImmutableArray()); }
public bool TryGetOrderById(string orderId, out Order order) { return(WaitingForExecutionOrders.TryGetOrderById(orderId, out order) || ActiveOrders.TryGetOrderById(orderId, out order)); }
public ImmutableArray <Order> GetPendingForMarginRecalc(string instrument) { return(WaitingForExecutionOrders.GetOrdersByMarginInstrument(instrument).ToImmutableArray()); }