Beispiel #1
0
 protected TrackerPacketList GetPoint(CDatabase db)
 {
     TrackerPacket[] pt = new TrackerPacket[m_config.MaxPoints];
     try
     {
         TrackerPacketList points = new TrackerPacketList();
         if (points.Load(db, "SELECT  TrackerID, Time, Lat, Lng,Alt,Speed,Status,IO,GSMInfo FROM lastpoint WHERE TrackerID=" + m_Tracker.m_nID + " and Time>0 and Time<=UNIX_TIMESTAMP(now()) and Lat>0" + pt.Length))
         {
             return(points);
         }
     }
     catch (Exception ex)
     {
         m_Logger.Push(LogLevel.ERROR, 0, "Error while points query " + ex.ToString());
     }
     return(null);
 }
Beispiel #2
0
 protected TrackerPacketList GetPoint(CDatabase db)
 {
     TrackerPacket[] pt = new TrackerPacket[m_config.MaxPoints];
     try
     {
         TrackerPacketList points = new TrackerPacketList();
         if (points.Load(db, "SELECT  TrackerID, Time, Lat, Lng, Alt, Speed, Status, IO, GSMInfo FROM curpos WHERE TrackerID=" + m_Tracker.m_nID +
                         " order by Time desc LIMIT " + pt.Length))
         {
             return(points);
         }
     }
     catch (Exception ex)
     {
         m_Logger.Push(LogLevel.ERROR, 0, "Error while points query " + ex.ToString());
     }
     return(null);
 }
Beispiel #3
0
    void Load()
    {
        List <TrackerPacket> newPackets = new List <TrackerPacket>();

        try
        {
            using (CDatabase db = Configuration.inst().GetDB())
            {
                if (!db.IsConnected())
                {
                    m_Logger.Push(LogLevel.ERROR, 0, "Could not connect to database");
                    return;
                }

                //загрузка точек
                TrackerPacketList list = new TrackerPacketList();
                list.Load(db, "SELECT TrackerID, Time, Lat, Lng, Alt, Speed, Status, IO, GSMInfo FROM " + m_strTable);

                for (int i = 0; i < list.Count; i++)
                {
                    TrackerPacket packet = list[i];
                    if (packet.IsValid())
                    {
                        lock (m_Points)
                            if (!m_Points.ContainsKey(packet.m_ID) || m_Points[packet.m_ID].m_Time != packet.m_Time)
                            {
                                m_Points[packet.m_ID] = packet;
                                newPackets.Add(packet);
                            }
                    }
                }
            }

            for (int i = 0; i < newPackets.Count; i++)
            {
                OnCurPosChange(newPackets[i]);
            }
        }
        catch (Exception e)
        {
            m_Logger.Push(LogLevel.ERROR, 0, e.ToString());
        }
    }