Esempio n. 1
0
        private static void SimulateTrack(long trackId, Action <TrackPoint> action4TrackPoint = null, Action <WayPoint> action4WayPoint = null)
        {
            System.Console.WriteLine("Start to simulateTrack.");

            var      track   = TrackDao.GetTrack(trackId);
            DateTime?endDate = track.EndTime;

            track.EndTime = null;
            (new TrackDao()).Update(track);

            var trackPointDao = new TrackPointDao();
            var wayPointDao   = new WayPointDao();

            var trackPoints = TrackPointDao.GetTrackPoints(track);

            foreach (var p in trackPoints)
            {
                p.IsActive = false;
                trackPointDao.Update(p);
            }
            var wayPoints = WayPointDao.GetWaypoints(track);

            foreach (var p in wayPoints)
            {
                p.IsActive = false;
                wayPointDao.Update(p);
            }
            int wayPointIdx = 0;

            TrackPoint lastp = null;

            foreach (var p in trackPoints)
            {
                //if (lastp != null && p.GpsTime == lastp.GpsTime)
                //    continue;
                p.IsActive = true;
                trackPointDao.Update(p);

                if (action4TrackPoint != null)
                {
                    action4TrackPoint(p);
                }
                if (wayPointIdx < wayPoints.Count &&
                    p.MessageTime >= wayPoints[wayPointIdx].MessageTime)
                {
                    wayPoints[wayPointIdx].IsActive = true;
                    wayPointDao.Update(wayPoints[wayPointIdx]);

                    action4WayPoint(wayPoints[wayPointIdx]);
                    wayPointIdx++;
                }

                System.Console.Write("Press any Key.");
                System.Console.ReadLine();
                //System.Threading.Thread.Sleep(5000);
                System.Console.WriteLine(string.Format("write trackpoint at {0}", p.GpsTime));

                lastp = p;
            }

            track.EndTime = endDate;
            (new TrackDao()).Update(track);
            System.Console.WriteLine("Finish.");
        }
Esempio n. 2
0
        private static void SimulateTrack(long trackId, Action<TrackPoint> action4TrackPoint = null, Action<WayPoint> action4WayPoint = null)
        {
            System.Console.WriteLine("Start to simulateTrack.");

            var track = TrackDao.GetTrack(trackId);
            DateTime? endDate = track.EndTime;
            track.EndTime = null;
            (new TrackDao()).Update(track);

            var trackPointDao = new TrackPointDao();
            var wayPointDao = new WayPointDao();

            var trackPoints = TrackPointDao.GetTrackPoints(track);
            foreach (var p in trackPoints)
            {
                p.IsActive = false;
                trackPointDao.Update(p);
            }
            var wayPoints = WayPointDao.GetWaypoints(track);
            foreach (var p in wayPoints)
            {
                p.IsActive = false;
                wayPointDao.Update(p);
            }
            int wayPointIdx = 0;

            TrackPoint lastp = null;
            foreach (var p in trackPoints)
            {
                //if (lastp != null && p.GpsTime == lastp.GpsTime)
                //    continue;
                p.IsActive = true;
                trackPointDao.Update(p);

                if (action4TrackPoint != null)
                {
                    action4TrackPoint(p);
                }
                if (wayPointIdx < wayPoints.Count
                    && p.MessageTime >= wayPoints[wayPointIdx].MessageTime)
                {
                    wayPoints[wayPointIdx].IsActive = true;
                    wayPointDao.Update(wayPoints[wayPointIdx]);

                    action4WayPoint(wayPoints[wayPointIdx]);
                    wayPointIdx++;
                }

                System.Console.Write("Press any Key.");
                System.Console.ReadLine();
                //System.Threading.Thread.Sleep(5000);
                System.Console.WriteLine(string.Format("write trackpoint at {0}", p.GpsTime));

                lastp = p;
            }

            track.EndTime = endDate;
            (new TrackDao()).Update(track);
            System.Console.WriteLine("Finish.");
        }