private void GetEDSCDistances() { try { SQLiteDBClass db = new SQLiteDBClass(); EDSCClass edsc = new EDSCClass(); string lstdist = db.GetSettingString("EDSCLastDist", "2010-01-01 00:00:00"); string json; // Get distances string rwdisttime = db.GetSettingString("RWLastDist", "2000-01-01 00:00:00"); // Latest time from RW file. string rwdistfiletime = ""; lstdist = db.GetSettingString("EDSCLastDist", "2010-01-01 00:00:00"); List<DistanceClass> dists = new List<DistanceClass>(); json = LoadJsonArray(fileTgcDistances); dists = DistanceClass.ParseEDSC(json, ref rwdistfiletime); if (!rwdisttime.Equals(rwdistfiletime)) // New distance file from Redwizzard { DistanceClass.Delete(DistancsEnum.EDSC); // Remove all EDSC distances. lstdist = "2010-01-01 00:00:00"; db.PutSettingString("RWLastDist", rwdistfiletime); } if (lstdist.Equals("2010-01-01 00:00:00")) { LogText("Adding data from tgcdistances.json " + Environment.NewLine); lstdist = rwdistfiletime; if (json == null) LogText("Couldn't read file." + Environment.NewLine); else { LogText("Found " + dists.Count.ToString() + " new distances." + Environment.NewLine); DistanceClass.Store(dists); db.PutSettingString("EDSCLastDist", lstdist); } } LogText("Checking for new distances from EDSC. "); Application.DoEvents(); json = edsc.RequestDistances(lstdist); dists = new List<DistanceClass>(); dists = DistanceClass.ParseEDSC(json, ref lstdist); if (json == null) LogText("No response from server." + Environment.NewLine); else LogText("Found " + dists.Count.ToString() + " new distances." + Environment.NewLine); Application.DoEvents(); DistanceClass.Store(dists); db.PutSettingString("EDSCLastDist", lstdist); db.GetAllDistances(); OnDistancesLoaded(); // Check for a new installer CheckForNewInstaller(); } catch (Exception ex) { LogText("GetEDSCDistances exception:" + ex.Message + Environment.NewLine); } }