Exemplo n.º 1
0
        public static TrackingReplay.TrackPoints GetHistoryTrackingData(string carNumber, DateTime startTime, DateTime endTime)
        {
            if (startTime - endTime > new TimeSpan() || string.IsNullOrEmpty(carNumber))
            {
                return(new TrackPoints());
            }

            System.Data.OleDb.OleDbConnection oConn = BaseHandler.DatabaseManager.GetOleDbConnection(GlobeVariables.ConfigureInfos.TrackingReplayConfigureInfos.LocalDatabaseLocation);

            string sDataTableName = GlobeVariables.ConfigureInfos.TrackingReplayConfigureInfos.TrackingTableName;
            string sQueryString   = string.Format("select distinct * from {0} where carnumber='{1}'", sDataTableName, carNumber);

            DataTable dtTrackings = BaseHandler.DatabaseManager.GetData(oConn, sQueryString);
            //string sFilterString = string.Format("currentTime >= #{0}# and currentTime <= #{1}#", startTime.ToString() + "." + startTime.Millisecond.ToString(), endTime.ToString() + "." + endTime.Millisecond.ToString());

            //dtTrackings.Columns["currenttime"].Expression = "convert(currenttime,'System.DateTime')";
            //dtTrackings.Columns["currenttime"].DataType = typeof(DateTime);
            //DataRow[] drResults = dtTrackings.Select(sFilterString, "currenttime desc");

            TrackPoints oInputData = ConvertDataTableToTrackingPoints(dtTrackings, startTime, endTime);

            oInputData.Sort((new BaseHandler.MyComparison <TrackingReplay.TrackPoint>()).GetComparison(GPSTrackingMonitor.BaseHandler.ComparisonType.ASC));

            return(oInputData);
        }