private void DBUpdateEDDB(EDDBClass eddb) { List <SystemClass> eddbsystems = eddb.ReadSystems(); List <StationClass> eddbstations = eddb.ReadStations(); LogText("Add new EDDB data to database." + Environment.NewLine); eddb.Add2DB(eddbsystems, eddbstations); }
public bool DownloadFromEDSM() { try { string url = "https://www.edsm.net/galactic-mapping/json-edd"; bool newfile; return(EDDBClass.DownloadFile(url, GalacticMappingFile, out newfile)); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine("DownloadFromEDSM exception:" + ex.Message); return(false); } }
private bool DownloadMapFile(string file) { EDDBClass eddb = new EDDBClass(); bool newfile = false; if (eddb.DownloadFile("http://eddiscovery.astronet.se/Maps/" + file, Path.Combine(Tools.GetAppDataDirectory(), "Maps\\" + file), out newfile)) { if (newfile) { LogText("Downloaded map: " + file + Environment.NewLine); } return(true); } else { return(false); } }
internal string GetHiddenSystems() { try { string edsmhiddensystems = Path.Combine(Tools.GetAppDataDirectory(), "edsmhiddensystems.json"); bool newfile = false; EDDBClass.DownloadFile("https://www.edsm.net/api-v1/hidden-systems?showId=1", edsmhiddensystems, out newfile); string json = EDDiscovery.EDDiscoveryForm.LoadJsonFile(edsmhiddensystems); return(json); } catch (Exception ex) { Trace.WriteLine($"Exception: {ex.Message}"); Trace.WriteLine($"ETrace: {ex.StackTrace}"); return(null); } }
public string GetEDSMDistances() // download a file of distances.. { if (File.Exists(EDSMDistancesFileName)) { File.Delete(EDSMDistancesFileName); } if (File.Exists(EDSMDistancesFileName + ".etag")) { File.Delete(EDSMDistancesFileName + ".etag"); } if (EDDBClass.DownloadFile("https://www.edsm.net/dump/distances.json", EDSMDistancesFileName)) { return(EDSMDistancesFileName); } else { return(null); } }
private void GetEDDBUpdate() { try { EDDBClass eddb = new EDDBClass(); string timestr; DateTime time; Thread.Sleep(1000); SQLiteDBClass db = new SQLiteDBClass(); timestr = db.GetSettingString("EDDBSystemsTime", "0"); time = new DateTime(Convert.ToInt64(timestr), DateTimeKind.Utc); bool updatedb = false; if (DateTime.UtcNow.Subtract(time).TotalDays > 0.5) { LogText("Get systems from EDDB. "); if (eddb.GetSystems()) { LogText("OK." + Environment.NewLine); db.PutSettingString("EDDBSystemsTime", DateTime.UtcNow.Ticks.ToString()); updatedb = true; } else { LogText("Failed." + Environment.NewLine, Color.Red); } eddb.GetCommodities(); } timestr = db.GetSettingString("EDDBStationsLiteTime", "0"); time = new DateTime(Convert.ToInt64(timestr), DateTimeKind.Utc); if (DateTime.UtcNow.Subtract(time).TotalDays > 0.5) { LogText("Get stations from EDDB. "); if (eddb.GetStationsLite()) { LogText("OK." + Environment.NewLine); db.PutSettingString("EDDBStationsLiteTime", DateTime.UtcNow.Ticks.ToString()); updatedb = true; } else { LogText("Failed." + Environment.NewLine, Color.Red); } } if (updatedb) { DBUpdateEDDB(eddb); } return; } catch (Exception ex) { Invoke((MethodInvoker) delegate { TravelHistoryControl.LogText("GetEDSCSystems exception:" + ex.Message + Environment.NewLine); }); } }
private void GetEDSCSystems() { try { SQLiteDBClass db = new SQLiteDBClass(); EDSMClass edsm = new EDSMClass(); string json; string rwsystime = db.GetSettingString("RWLastSystems", "2000-01-01 00:00:00"); // Latest time from RW file. string rwsysfiletime = ""; CommanderName = db.GetSettingString("CommanderName", ""); Invoke((MethodInvoker) delegate { travelHistoryControl1.textBoxCmdrName.Text = CommanderName; }); json = LoadJsonArray(fileTgcSystems); List <SystemClass> systems = SystemClass.ParseEDSC(json, ref rwsysfiletime); if (!rwsystime.Equals(rwsysfiletime)) // New distance file from Redwizzard { SystemClass.Delete(SystemStatusEnum.EDSC); // Remove all EDSC systems. db.PutSettingString("RWLastSystems", rwsysfiletime); db.PutSettingString("EDSMLastSystems", rwsysfiletime); Invoke((MethodInvoker) delegate { TravelHistoryControl.LogText("Adding data from tgcsystems.json " + Environment.NewLine); }); SystemClass.Store(systems); EDDBClass eddb = new EDDBClass(); DBUpdateEDDB(eddb); } string retstr = edsm.GetNewSystems(db); Invoke((MethodInvoker) delegate { TravelHistoryControl.LogText(retstr); }); db.GetAllSystemNotes(); db.GetAllSystems(); SystemNames.Clear(); foreach (SystemClass system in SystemData.SystemList) { SystemNames.Add(system.name); } } catch (Exception ex) { Invoke((MethodInvoker) delegate { TravelHistoryControl.LogText("GetEDSCSystems exception:" + ex.Message + Environment.NewLine); }); } }
private void SyncAllEDSMSystems() { try { EDDBClass eddb = new EDDBClass(); EDSMClass edsm = new EDSMClass(); string edsmsystems = Path.Combine(Tools.GetAppDataDirectory(), "edsmsystems.json"); bool newfile = false; string rwsysfiletime = "2014-01-01 00:00:00"; LogText("Get systems from EDSM." + Environment.NewLine); eddb.DownloadFile("http://www.edsm.net/dump/systemsWithCoordinates.json", edsmsystems, out newfile); if (newfile) { LogText("Adding EDSM systems." + Environment.NewLine); _db.GetAllSystems(); string json = LoadJsonFile(edsmsystems); List <SystemClass> systems = SystemClass.ParseEDSM(json, ref rwsysfiletime); List <SystemClass> systems2Store = new List <SystemClass>(); foreach (SystemClass system in systems) { // Check if sys exists first SystemClass sys = SystemData.GetSystem(system.name); if (sys == null) { systems2Store.Add(system); } else if (!sys.name.Equals(system.name) || sys.x != system.x || sys.y != system.y || sys.z != system.z) // Case or position changed { systems2Store.Add(system); } } SystemClass.Store(systems2Store); systems.Clear(); systems = null; systems2Store.Clear(); systems2Store = null; json = null; _db.PutSettingString("EDSMLastSystems", rwsysfiletime); _db.GetAllSystems(); } else { LogText("No new file." + Environment.NewLine); } string retstr = edsm.GetNewSystems(_db); Invoke((MethodInvoker) delegate { TravelHistoryControl.LogText(retstr); }); GC.Collect(); } catch (Exception ex) { Invoke((MethodInvoker) delegate { TravelHistoryControl.LogText("GetAllEDSMSystems exception:" + ex.Message + Environment.NewLine); }); } }
private void GetEDSMDistances() { try { if (EDDConfig.UseDistances) { EDSMClass edsm = new EDSMClass(); EDDBClass eddb = new EDDBClass(); string lstdist = _db.GetSettingString("EDSCLastDist", "2010-01-01 00:00:00"); string json; // Get distances lstdist = _db.GetSettingString("EDSCLastDist", "2010-01-01 00:00:00"); List <DistanceClass> dists = new List <DistanceClass>(); if (lstdist.Equals("2010-01-01 00:00:00")) { LogText("Downloading mirrored EDSM distance data. (Might take some time)" + Environment.NewLine); eddb.GetEDSMDistances(); json = LoadJsonFile(_fileEDSMDistances); if (json != null) { LogText("Adding mirrored EDSM distance data." + Environment.NewLine); dists = new List <DistanceClass>(); dists = DistanceClass.ParseEDSM(json, ref lstdist); LogText("Found " + dists.Count.ToString() + " distances." + Environment.NewLine); Application.DoEvents(); DistanceClass.Store(dists); _db.PutSettingString("EDSCLastDist", lstdist); } } LogText("Checking for new distances from EDSM. "); Application.DoEvents(); json = edsm.RequestDistances(lstdist); dists = new List <DistanceClass>(); dists = DistanceClass.ParseEDSM(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(EDDConfig.UseDistances); // Load user added distances updateMapData(); OnDistancesLoaded(); GC.Collect(); } catch (Exception ex) { LogText("GetEDSMDistances exception:" + ex.Message + Environment.NewLine); LogText(ex.StackTrace + Environment.NewLine); } }