private void updateFromWeb(AlsiWebService.xlTradeOrder order)
 {
     Debug.WriteLine("-------------------------------------------------------");
     Debug.WriteLine(order.Timestamp + "  " + order.Price + "  " + order.Status);
     Debug.WriteLine("-------------------------------------------------------");
     ListViewItem lvi = new ListViewItem(order.Timestamp.ToLongTimeString());
     lvi.Tag = order;
     lvi.SubItems.Add(order.Contract);
     lvi.SubItems.Add(order.BS.ToString());
     lvi.SubItems.Add(order.Volume.ToString());
     lvi.SubItems.Add(order.Price.ToString());
     lvi.SubItems.Add(order.Status.ToString());
     updateListView(lvi, order);
     ColorStatus();
 }
        private void updateListView(ListViewItem lvi, AlsiWebService.xlTradeOrder order)
        {

            var ind = ordersListView.Items.Count;
            if (ind == 0)
            {
                ordersListView.Items.Add(lvi);
                lastOrder = (AlsiWebService.xlTradeOrder)lvi.Tag;
                return;
            }

            //Status Update

            if (lastOrder.Price == order.Price
                && lastOrder.Volume == order.Volume
                && lastOrder.BS == order.BS
                && lastOrder.Status != order.Status
                 )
            {
                lastOrder = order;
                ordersListView.Items[ind - 1].Tag = order;
                ordersListView.Items[ind - 1].SubItems[5].Text = order.Status.ToString();
                return;
            }


            bool oldorder = (lastOrder.Price == order.Price
                 && lastOrder.Volume == order.Volume
                 && lastOrder.BS == order.BS
                 && lastOrder.Status == order.Status);

            //New Order
            if (!oldorder)
            {
                lastOrder = order;
                lvi.Tag = order;
                ordersListView.Items.Add(lvi);
            }



        }