예제 #1
0
        private void CreateTrack(object sender, RawTransponderDataEventArgs rawTransponderDataEventArgs)
        {
            TrackList.Clear();
            //Traverse all elements
            foreach (var data in rawTransponderDataEventArgs.TransponderData)
            {
                // Distribute data to relevant classes

                _flightHandler.Extract(_parser.Parse(data));

                // If inside the monitored area
                if (_monitoredArea.InsideMonitoredArea(_flightHandler.Position))
                {
                    // Format and return the date
                    _formatter.Unformatted = _flightHandler.RawTimestamp;
                    _formatter.FormatTimestamp();

                    Position pos = new Position(_flightHandler.Position.XCoor, _flightHandler.Position.YCoor,
                                                _flightHandler.Position.Altitude);

                    TrackList.Add(new TrackObject(_flightHandler.Tag, pos,
                                                  _formatter.InPretty, _formatter.InDateTime));
                }
            }

            if (TrackList.Count != 0)
            {
                OnTrackListReady(new TrackListUpdatedArgs(TrackList));
            }
        }
예제 #2
0
        public void Setup()
        {
            _uut = new FlightExtractor();

            _flightList = new List <string> {
                "TAGGGG", "50000", "50032", "4000", "20181111111111111"
            };

            _uut.Extract(_flightList);
        }