public void LoadMarketInformations() { if (OrderCache == default) { return; } OrderCache.UpdateActiveOrders(); // Load active parent orders var parents = OrderCache.GetActiveParentOrders(); foreach (var parent in parents) { var xParentOrder = new BfxParentOrder(parent); var txParent = new BfxParentTransaction(this, xParentOrder); foreach (var xChildOrder in xParentOrder.Children.Cast <BfxChildOrder>()) { _childOrderTransactions[xChildOrder.AcceptanceId] = new BfxChildTransaction(this, xChildOrder, txParent); } _parentOrderTransactions.TryAdd(parent.AcceptanceId, txParent); } ; // Load standalone child orders var children = OrderCache.GetActiveIndependentChildOrders(); foreach (var child in children) { var order = new BfxChildOrder(child); _childOrderTransactions.TryAdd(child.AcceptanceId, new BfxChildTransaction(this, order)); } }
public BfxChildTransaction(BfxMarket market, BfxChildOrder order, BfxParentTransaction parent) : base(market) { _order = order; Parent = parent; }