private void OnNewOrder(OpenOrderMessage message) { Order order; if (this.orders.TryGetValue(message.OrderId, out order)) { order.Update(message); return; } order = this.objectsFactory.CreateOrder(message.OrderId, this.accountName); order.Update(message); this.orders[message.OrderId] = order; this.OrderAdded(this, new OrderAddedEventArgs{Order = order}); }
public void Update(OpenOrderMessage message) { CodeContract.Requires(message.OrderId == this.Id); this.UpdateStatus(message.Status); this.Action = message.OrderAction.ToOrderAction(); this.Type = message.OrderType.ToOrderType(); this.LimitPrice = message.LimitPrice; this.StopPrice = message.AuxPrice; this.Quantity = message.TotalQuantity; this.PermId = message.PermId; this.ParentId = message.ParentId; this.ClientId = message.ClientId; this.Contract = Contract.FromOpenOrderMessage(message); this.Route = message.Exchange; this.DisplaySize = message.DisplaySize; this.OrderChanged(this, new OrderChangedEventArgs{Order = this}); }