Exemplo n.º 1
0
        private void ClientGotInitialPosition(Position obj)
        {
            System.Windows.Application.Current.Dispatcher.Invoke(() =>
            {
                if (_positiontracker.IsTracked(obj.FullSymbol))
                {
                    int pos = PositionTable.Select(row => row.Symbol).ToList().IndexOf(obj.FullSymbol); // should exist
                    PositionTable[pos].AvgPrice = obj.AvgPrice;
                    PositionTable[pos].Size     = obj.Size;
                    PositionTable[pos].ClosePL  = obj.ClosedPL;
                    PositionTable[pos].OpenPL   = obj.OpenPL;
                }
                else
                {
                    int count = PositionTable.Count;
                    // ?? A first chance exception system notsupportedexception presentationframework dll ??
                    PositionTable.Add(new PositionEntry(count, obj.FullSymbol, obj.AvgPrice, obj.Size, obj.ClosedPL, obj.OpenPL));
                }
            });

            _positiontracker.Adjust(obj);
        }