Exemple #1
0
 public void CancelAllStopordersMethod()
 {
     Task.Run(() => {
         var orders = ClientStoporders.ToArray();
         foreach (var order in orders)
         {
             if (order.Status != "matched")
             {
                 TXmlConnector.ConnectorSendCommand(
                     $"<command id=\"cancelstoporder\"><transactionid>{order.Transactionid}</transactionid></command>");
             }
             Thread.Sleep(250);
         }
     });
 }
Exemple #2
0
        private void XmlConnector_OnSendNewOrders(string data)
        {
            var orders =
                (Orders)
                new XmlSerializer(typeof(Orders)).Deserialize(
                    new StringReader(data));

            try
            {
                orders.Order = orders.Order.OrderBy(item => DateTime.Parse(item.Time)).ToList();
            }
            catch
            {
            }
            _dispatcher.Invoke(() => {
                foreach (var order in orders.Order)
                {
                    var found = ClientOrders.FirstOrDefault(item => item.Transactionid == order.Transactionid);

                    if (found == null)
                    {
                        ClientOrders.Insert(0, order);
                    }
                    else
                    {
                        ClientOrders[ClientOrders.IndexOf(found)] = order;
                    }
                }
                foreach (var stoporder in orders.Stoporder)
                {
                    var found = ClientStoporders.FirstOrDefault(item => item.Transactionid == stoporder.Transactionid);
                    if (found == null)
                    {
                        ClientStoporders.Insert(0, stoporder);
                    }
                    else
                    {
                        ClientStoporders[ClientStoporders.IndexOf(found)] = stoporder;
                    }
                }
            });

            ActiveOrders     = ClientOrders.Count(o => o.Status == "active");
            ActiveStoporders = ClientStoporders.Count(o => o.Status == "watching");
        }