void _client_OnLegOrderUpdated(string portfId, string mlOrderId, string legOrdRef, trade.Order legOrder) { OrderUpdateArgs args = new OrderUpdateArgs { AccountId = Id, PortfolioId = portfId, MlOrderId = mlOrderId, LegOrderRef = legOrdRef, LegOrder = legOrder }; EventAggregator.GetEvent <IndividualOrderUpdatedEvent>().Publish(args); }
public void Update(OrderUpdateArgs orderUpdateArgs) { MultiLegOrderVM mlOrderVm = this.SingleOrDefault (vm => vm.AccountId == orderUpdateArgs.AccountId && vm.OrderId == orderUpdateArgs.MlOrderId); Debug.Assert(mlOrderVm != null, string.Format("Cannot find parent multileg order({0}) when update individual order", orderUpdateArgs.MlOrderId)); if (mlOrderVm != null) { mlOrderVm.From(orderUpdateArgs.LegOrderRef, orderUpdateArgs.LegOrder); } }
public void Update(OrderUpdateArgs orderUpdateArgs) { lock (_syncObj) { MultiLegOrderVM mlOrderVm = GetMlOrderVm(orderUpdateArgs.AccountId, orderUpdateArgs.MlOrderId); Debug.Assert(mlOrderVm != null, string.Format("Cannot find parent multileg order({0}) when update individual order", orderUpdateArgs.MlOrderId)); if (mlOrderVm != null) { mlOrderVm.From(orderUpdateArgs.LegOrderRef, orderUpdateArgs.LegOrder); if (mlOrderVm.IsAllFinished && !mlOrderVm.IsPortfolio) { mlOrderVm.CalcProfit(); } } } }
public void OnIndividualOrderUpdated(OrderUpdateArgs args) { _ordersRepo.Update(args); }