/// <summary> /// Находит и обновляет заявку. Известно, что заявка существует /// </summary> /// <param name="ev"></param> private void UpdateOrder(UpdateOrderEvent ev) { int index = FindBuyOrderIndex(ev.OrderId, ev.Cookie); if (index != -1) { if (ev.Filled <= 0 || ev.Amount <= 0) { BuyOrders.RemoveAt(index); } else { BuyOrders[index].Cookie = ev.Cookie; BuyOrders[index].FilledVolume = (int)ev.Filled; BuyOrders[index].OrderId = ev.OrderId; BuyOrders[index].Price = ev.Price; BuyOrders[index].StopPrice = ev.Stop; BuyOrders[index].Type = Server.OrderTypeCast(ev.Type); BuyOrders[index].Volume = (int)ev.Amount; BuyOrders[index].Action = Server.ActionCast(ev.Action); } } else { index = FindSellOrderIndex(ev.OrderId, ev.Cookie); if (index != -1) { if (ev.Filled <= 0 || ev.Amount <= 0) { SellOrders.RemoveAt(index); } else { SellOrders[index].Cookie = ev.Cookie; SellOrders[index].FilledVolume = (int)ev.Filled; SellOrders[index].OrderId = ev.OrderId; SellOrders[index].Price = ev.Price; SellOrders[index].StopPrice = ev.Stop; SellOrders[index].Type = Server.OrderTypeCast(ev.Type); SellOrders[index].Volume = (int)ev.Amount; SellOrders[index].Action = Server.ActionCast(ev.Action); } } } }