예제 #1
0
 public static void Update2(string vehicleName, TrackPoint tp)
 {
     IList<车辆作业> list;
     using (IRepository rep = ServiceProvider.GetService<IRepositoryFactory>().GenerateRepository<车辆作业>())
     {
         list = rep.List<车辆作业>("结束时间 ISNOTNULL", null);
     }
     foreach (var i in list)
     {
         if (i.车辆.车牌号 == vehicleName)
         {
             m_作业监控Dao.更新作业监控状态1(i, tp);
         }
     }
 }
예제 #2
0
        public static TrackPoint ConvertToGpsData(string gpsId, string gpsData)
        {
            string[] ss = gpsData.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

            TrackPoint entity = new TrackPoint
            {
                VehicleName = gpsId,
                GpsTime = Convert.ToDateTime(ss[0]),
                Latitude = Convert.ToDouble(ss[1]),
                Longitude = Convert.ToDouble(ss[2]),
                Accuracy = Convert.ToDouble(ss[3]),
                Altitude = Convert.ToDouble(ss[4]),
                Heading = Convert.ToDouble(ss[5]),
                Speed = Convert.ToDouble(ss[6]),
                MessageTime = System.DateTime.Now,
                IsActive = true
            };
            return entity;
        }
예제 #3
0
        public static Track ConvertToTrack(string gpxString)
        {
            gpx.gpxType gpx = null;
            try
            {
                var xmlSerialize = new System.Xml.Serialization.XmlSerializer(typeof(gpx.gpxType));
                var stream = new System.IO.StringReader(gpxString);
                gpx = (gpx.gpxType)xmlSerialize.Deserialize(stream);
            }
            catch(Exception ex)
            {
                ExceptionProcess.ProcessWithNotify(ex);
                return null;
            }

            Track track = new Track();
            track.TrackPoints = new List<TrackPoint>();
            track.StartTime = gpx.metadata.timeSpecified ? (DateTime?)gpx.metadata.time : null;

            track.TrackPoints = new List<TrackPoint>();
            foreach (var i in gpx.trk)
            {
                foreach (var j in i.trkseg)
                {
                    foreach (var k in j.trkpt)
                    {
                        var p = new TrackPoint();
                        p.Altitude = k.eleSpecified ? (double)k.ele : 0;
                        p.Latitude = (double)k.lat;
                        p.Longitude = (double)k.lon;
                        p.GpsTime = k.timeSpecified ? k.time : DateTime.MinValue;
                        p.MessageTime = p.GpsTime;
                        p.VehicleName = gpx.creator;
                        p.Track = track;

                        track.TrackPoints.Add(p);
                    }
                }
            }
            return track;
        }
예제 #4
0
 private void SaveGpsData(Feng.IRepository rep, TrackPoint entity)
 {
     if (rep == null)
     {
         s_trackPointDao.Save(entity);
     }
     else
     {
         s_trackPointDao.Save(rep, entity);
     }
 }