/* * private void GetRedWizzardFiles() * { * WebClient web = new WebClient(); * * try * { * LogText("Checking for new EDDiscovery data" + Environment.NewLine); * * //GetNewRedWizzardFile(_fileTgcSystems, "http://robert.astronet.se/Elite/ed-systems/tgcsystems.json"); * //GetNewRedWizzardFile(fileTgcDistances, "http://robert.astronet.se/Elite/ed-systems/tgcdistances.json"); * } * catch (Exception ex) * { * LogText("GetRedWizzardFiles exception:" + ex.Message + Environment.NewLine); * return; * } * } * * private void GetNewRedWizzardFile(string filename, string url) * { * string etagFilename = filename + ".etag"; * * var request = (HttpWebRequest) HttpWebRequest.Create(url); * request.UserAgent = "EDDiscovery v" + Assembly.GetExecutingAssembly().FullName.Split(',')[1].Split('=')[1]; * request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; * * if (File.Exists(etagFilename)) * { * var etag = File.ReadAllText(etagFilename); * if (etag != "") * { * request.Headers[HttpRequestHeader.IfNoneMatch] = etag; * } * } * * try { * var response = (HttpWebResponse) request.GetResponse(); * * LogText("Downloading " + filename + "..." + Environment.NewLine); * * File.WriteAllText(filename + ".etag.tmp", response.Headers[HttpResponseHeader.ETag]); * var destFileStream = File.Open(filename + ".tmp", FileMode.Create, FileAccess.Write); * response.GetResponseStream().CopyTo(destFileStream); * * destFileStream.Close(); * response.Close(); * * if (File.Exists(filename)) * File.Delete(filename); * if (File.Exists(etagFilename)) * File.Delete(etagFilename); * * File.Move(filename + ".tmp", filename); * File.Move(etagFilename + ".tmp", etagFilename); * } catch (WebException e) * { * var code = ((HttpWebResponse) e.Response).StatusCode; * if (code == HttpStatusCode.NotModified) * { * LogText(filename + " is up to date." + Environment.NewLine); * } else * { * throw e; * } * } * } */ private void GetEDSMSystems() { try { EDSMClass edsm = new EDSMClass(); string rwsystime = _db.GetSettingString("EDSMLastSystems", "2000-01-01 00:00:00"); // Latest time from RW file. CommanderName = EDDConfig.CurrentCommander.Name; //Invoke((MethodInvoker) delegate { // travelHistoryControl1.textBoxCmdrName.Text = CommanderName; //}); // List<SystemClass> systems = SystemClass.ParseEDSC(json, ref rwsysfiletime); DateTime edsmdate = DateTime.Parse(rwsystime, new CultureInfo("sv-SE")); if (DateTime.Now.Subtract(edsmdate).TotalDays > 7) // Over 7 days do a sync from EDSM { SyncAllEDSMSystems(); } else { if (CanSkipSlowUpdates()) { LogLine("Skipping loading updates (DEBUG option)."); LogLine(" Need to turn this back on again? Look in the Settings tab."); } else { 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("GetEDSMSystems exception:" + ex.Message + Environment.NewLine); TravelHistoryControl.LogText(ex.StackTrace + Environment.NewLine); }); } GC.Collect(); }
/// <summary> /// Returns the next System Name for the theme /// </summary> /// <returns></returns> public string GetNextSystemName() { if (SystemNames == null || SystemNames.Count == 0) { return(NAME_UNAVAILABLE); } string nextName; do { nextName = SystemNames.Dequeue(); } while (string.IsNullOrEmpty(nextName)); //put the name at the end so we keep looping SystemNames.Enqueue(nextName); return(nextName); }