Exemple #1
0
 internal void OrderCanceledHandle(OrderCanceledData data)
 {
     _ordersLock.EnterUpgradeableReadLock();
     try
     {
         foreach (OrderBase order in data.Orders)
         {
             Guid guid = order.OrigClientId;
             if (_orders.ContainsKey(guid))
             {
                 _orders[guid].Status = data.Status;
                 _orders[guid].OrderChanged();
                 _ordersLock.EnterWriteLock();
                 try
                 {
                     _orders[guid].Dispose();
                     _orders.Remove(guid);
                 }
                 finally
                 { _ordersLock.ExitWriteLock(); }
             }
         }
     }
     finally
     { _ordersLock.ExitUpgradeableReadLock(); }
 }
        private void OrderCanceledHandler(OrderCanceledData data)
        {
            TraderInfo traderInfo = TraderStatistic.Find(x => x.Symbol.Equals(data.Symbol));

            if (traderInfo != null)
            {
                traderInfo.Update(data);
                TraderInfoChanged?.Invoke(traderInfo);
            }
            _receiver.OrderCanceledHandle(data);

            if (data.Status == OrderStatus.Rejected)
            {
                OrderCancelError?.Invoke(data);
            }
        }
 internal void Update(OrderCanceledData data)
 {
     Update(data as CommonFields);
     TraderBalance2 = data.TraderBalance2;
 }