private void buttonSync_Click(object sender, EventArgs e) { if (EDDiscoveryForm.EDDConfig.CurrentCommander.Name.Equals("")) { MessageBox.Show("Please enter commander name before sending distances/ travel history to EDSM!"); return; } var db = new SQLiteDBClass(); var dists = db.GetDistancesByStatus((int)DistancsEnum.EDDiscovery); //var dists = from p in SQLiteDBClass.dictDistances where p.Value.Status == DistancsEnum.EDDiscovery orderby p.Value.CreateTime select p.Value; EDSMClass edsm = new EDSMClass(); foreach (var dist in dists) { string json; if (dist.Dist > 0) { LogText("Add distance: " + dist.NameA + " => " + dist.NameB + " :" + dist.Dist.ToString("0.00") + "ly" + Environment.NewLine); json = edsm.SubmitDistances(EDDiscoveryForm.EDDConfig.CurrentCommander.Name, dist.NameA, dist.NameB, dist.Dist); } else { if (dist.Dist < 0) // Can removedistance by adding negative value { dist.Delete(); } else { dist.Status = DistancsEnum.EDDiscoverySubmitted; dist.Update(); } json = null; } if (json != null) { string str = ""; bool trilok; if (edsm.ShowDistanceResponse(json, out str, out trilok)) { LogText(str); dist.Status = DistancsEnum.EDDiscoverySubmitted; dist.Update(); } else { LogText(str); } } } if (EDDiscoveryForm.EDDConfig.CurrentCommander.APIKey.Equals("")) { MessageBox.Show("Please enter EDSM api key (In settings) before sending travel history to EDSM!"); return; } sync.StartSync(EDSMSyncTo, EDSMSyncFrom, defaultMapColour); }
private void buttonSync_Click(object sender, EventArgs e) { if (textBoxCmdrName.Text.Equals("")) { MessageBox.Show("Please enter commander name before sending distances!"); return; } var dists = from p in SQLiteDBClass.dictDistances where p.Value.Status == DistancsEnum.EDDiscovery orderby p.Value.CreateTime select p.Value; EDSMClass edsm = new EDSMClass(); foreach (var dist in dists) { string json, json2; if (dist.Dist > 0) { LogText("Add distance: " + dist.NameA + " => " + dist.NameB + " :" + dist.Dist.ToString("0.00") + "ly" + Environment.NewLine); json = edsm.SubmitDistances(textBoxCmdrName.Text, dist.NameA, dist.NameB, dist.Dist); json2 = edsc.SubmitDistances(textBoxCmdrName.Text, dist.NameA, dist.NameB, dist.Dist); } else { dist.Delete(); return; } if (json != null) { string str = ""; bool trilok; if (edsm.ShowDistanceResponse(json, out str, out trilok)) { LogText(str); dist.Status = DistancsEnum.EDDiscoverySubmitted; dist.Update(); } else { LogText(str); } } } }
private void SubmitToEDSM() { try { edsm.apiKey = EDCommander.Current.APIKey; edsm.commanderName = EDCommander.Current.EdsmName; var travelHistoryControl = _discoveryForm.TravelControl; if (string.IsNullOrEmpty(edsm.commanderName)) { string commanderName = EDCommander.Current.EdsmName; if (string.IsNullOrEmpty(commanderName)) { this.BeginInvoke(new MethodInvoker(() => { ExtendedControls.MessageBoxTheme.Show("Please enter commander name before submitting the system!"); UnfreezeTrilaterationUI(); })); return; } edsm.commanderName = commanderName; } var distances = new Dictionary <string, double>(); for (int i = 0, count = dataGridViewDistances.Rows.Count - 1; i < count; i++) { var systemCell = dataGridViewDistances[0, i]; var distanceCell = dataGridViewDistances[1, i]; if (systemCell.Value != null && distanceCell.Value != null) { var system = systemCell.Value.ToString(); var value = distanceCell.Value.ToString().Trim(); var parsedDistance = DistanceParser.ParseInterstellarDistance(value); if (parsedDistance.HasValue) { // can over-ride drop down now if it's a real system so you could add duplicates if you wanted (even once I've figured out issue #81 which makes it easy if not likely...) if (!distances.Keys.Contains(system)) { distances.Add(system, parsedDistance.Value); } } } } bool trilatOk = false; bool respOk = true; List <KeyValuePair <string, double> > distlist = distances.ToList(); for (int i = 0; i < distances.Count; i += 20) { var dists = new Dictionary <string, double>(); for (int j = i; j < i + 20 && j < distances.Count; j++) { dists[distlist[j].Key] = distlist[j].Value; } var responseM = edsm.SubmitDistances(edsm.commanderName, TargetSystem.name, dists); Console.WriteLine(responseM); string infoM; bool trilaterationOkM; var responseOkM = edsm.ShowDistanceResponse(responseM, out infoM, out trilaterationOkM); if (trilaterationOkM) { trilatOk = true; } if (!responseOkM) { respOk = false; } Console.WriteLine(infoM); } BeginInvoke((MethodInvoker) delegate { UnfreezeTrilaterationUI(); if (respOk && trilatOk) { LogTextSuccess("EDSM submission succeeded, trilateration successful." + Environment.NewLine); _discoveryForm.RefreshHistoryAsync(); checkForUnknownSystemsNowKnown(); } else if (respOk) { LogTextHighlight("EDSM submission succeeded, but trilateration failed. Try adding more distances." + Environment.NewLine); } else { LogTextHighlight("EDSM submission failed." + Environment.NewLine); } }); } catch (Exception ex) { this.BeginInvoke(new MethodInvoker(() => { LogTextHighlight("SubmitToEDSM Exception:" + ex.Message); LogText(ex.StackTrace); })); } }
private void SubmitToEDSM() { try { EDSMClass edsm = new EDSMClass(); // current commander credentials if (!edsm.ValidCredentials) { this.BeginInvoke(new MethodInvoker(() => { ExtendedControls.MessageBoxTheme.Show(FindForm(), "Please enter commander name before submitting the system!".T(EDTx.UserControlTrilateration_Cmdr)); UnfreezeTrilaterationUI(); })); return; } var distances = new Dictionary <string, double>(); for (int i = 0, count = dataGridViewDistances.Rows.Count - 1; i < count; i++) { var systemCell = dataGridViewDistances[0, i]; var distanceCell = dataGridViewDistances[1, i]; if (systemCell.Value != null && distanceCell.Value != null) { var system = systemCell.Value.ToString(); var value = distanceCell.Value.ToString().Trim(); var parsedDistance = BaseUtils.DistanceParser.ParseInterstellarDistance(value); if (parsedDistance.HasValue) { // can over-ride drop down now if it's a real system so you could add duplicates if you wanted (even once I've figured out issue #81 which makes it easy if not likely...) if (!distances.Keys.Contains(system)) { distances.Add(system, parsedDistance.Value); } } } } bool trilatOk = false; bool respOk = true; List <KeyValuePair <string, double> > distlist = distances.ToList(); for (int i = 0; i < distances.Count; i += 20) { var dists = new Dictionary <string, double>(); for (int j = i; j < i + 20 && j < distances.Count; j++) { dists[distlist[j].Key] = distlist[j].Value; } var responseM = edsm.SubmitDistances(targetsystem.Name, dists); System.Diagnostics.Trace.WriteLine(responseM); string infoM; bool trilaterationOkM; var responseOkM = edsm.ShowDistanceResponse(responseM, out infoM, out trilaterationOkM); if (trilaterationOkM) { trilatOk = true; } if (!responseOkM) { respOk = false; } System.Diagnostics.Trace.WriteLine(infoM); } BeginInvoke((MethodInvoker) delegate { UnfreezeTrilaterationUI(); if (respOk && trilatOk) { LogTextSuccess("EDSM submission succeeded, trilateration successful.".T(EDTx.UserControlTrilateration_Horray) + Environment.NewLine); discoveryform.RefreshHistoryAsync(); checkForUnknownSystemsNowKnown(); } else if (respOk) { LogTextHighlight("EDSM submission succeeded, but trilateration failed. Try adding more distances.".T(EDTx.UserControlTrilateration_Failed) + Environment.NewLine); } else { LogTextHighlight("EDSM submission failed.".T(EDTx.UserControlTrilateration_Dead) + Environment.NewLine); } }); } catch (Exception ex) { this.BeginInvoke(new MethodInvoker(() => { LogTextHighlight("SubmitToEDSM Exception:" + ex.Message); LogText(ex.StackTrace); })); } }
private void SubmitToEDSC() { var travelHistoryControl = _discoveryForm.TravelControl; string commanderName = travelHistoryControl.GetCommanderName(); if (string.IsNullOrEmpty(commanderName)) { MessageBox.Show("Please enter commander name before submitting the system!"); UnfreezeTrilaterationUI(); return; } var distances = new Dictionary <string, double>(); foreach (var item in lastTrilatelationEntries) { var system = item.Key; var entry = item.Value; distances.Add(system.name, entry.Distance); } var edsc = new EDSCClass(); var edsm = new EDSMClass(); //if (!EDSCClass.UseTest) //{ // Invoke((MethodInvoker) delegate // { // // TODO temporarily mess with EDSC in test mode only // LogText("Forcibly switching to EDSC UseTest mode." + Environment.NewLine, Color.OrangeRed); // }); // EDSCClass.UseTest = true; //} var responseC = edsc.SubmitDistances(commanderName, TargetSystem.name, distances); var responseM = edsm.SubmitDistances(commanderName, TargetSystem.name, distances); Console.WriteLine(responseC); Console.WriteLine(responseM); string infoC, infoM; bool trilaterationOkC; bool trilaterationOkM; var responseOkC = edsc.ShowDistanceResponse(responseC, out infoC); var responseOkM = edsm.ShowDistanceResponse(responseM, out infoM, out trilaterationOkM); trilaterationOkC = infoC.IndexOf("Trilateration succesful") != -1; // FIXME this is ugly Console.WriteLine(infoC); Invoke((MethodInvoker) delegate { if (responseOkC && trilaterationOkC) { LogText("EDSC submission succeeded, trilateration successful." + Environment.NewLine, Color.Green); } else if (responseOkC) { LogText("EDSC submission succeeded, but trilateration failed. Try adding more distances." + Environment.NewLine, Color.Orange); } else { LogText("EDSC submission failed." + Environment.NewLine, Color.Red); } if (responseOkM && trilaterationOkM) { LogText("EDSM submission succeeded, trilateration successful." + Environment.NewLine, Color.Green); } else if (responseOkM) { LogText("EDSM submission succeeded, but trilateration failed. Try adding more distances." + Environment.NewLine, Color.Orange); } else { LogText("EDSM submission failed." + Environment.NewLine, Color.Red); } }); if (responseOkC && trilaterationOkC) { Invoke((MethodInvoker) delegate { //Visible = false; travelHistoryControl.TriggerEDSCRefresh(); // TODO we might eventually avoid this by further parsing EDSC response travelHistoryControl.RefreshHistory(); }); } else { Invoke((MethodInvoker)UnfreezeTrilaterationUI); lastTrilatelationResult = null; lastTrilatelationEntries = null; } }
private void SubmitToEDSM() { edsm.apiKey = EDDiscoveryForm.EDDConfig.CurrentCommander.APIKey; edsm.commanderName = EDDiscoveryForm.EDDConfig.CurrentCommander.Name; var travelHistoryControl = _discoveryForm.TravelControl; if (string.IsNullOrEmpty(edsm.commanderName)) { string commanderName = travelHistoryControl.GetCommanderName(); if (string.IsNullOrEmpty(commanderName)) { MessageBox.Show("Please enter commander name before submitting the system!"); UnfreezeTrilaterationUI(); return; } edsm.commanderName = commanderName; } var distances = new Dictionary <string, double>(); var culture = new CultureInfo("en-US"); for (int i = 0, count = dataGridViewDistances.Rows.Count - 1; i < count; i++) { var systemCell = dataGridViewDistances[0, i]; var distanceCell = dataGridViewDistances[1, i]; if (systemCell.Value != null && distanceCell.Value != null) { var system = systemCell.Value.ToString(); var distance = double.Parse(distanceCell.Value.ToString().Replace(",", "."), culture); // can over-ride drop down now if it's a real system so you could add duplicates if you wanted (even once I've figured out issue #81 which makes it easy if not likely...) if (!distances.Keys.Contains(system)) { distances.Add(system, distance); } } } var responseM = edsm.SubmitDistances(edsm.commanderName, TargetSystem.name, distances); Console.WriteLine(responseM); string infoM; bool trilaterationOkM; var responseOkM = edsm.ShowDistanceResponse(responseM, out infoM, out trilaterationOkM); Console.WriteLine(infoM); Invoke((MethodInvoker) delegate { if (responseOkM && trilaterationOkM) { LogText("EDSM submission succeeded, trilateration successful." + Environment.NewLine, Color.Green); } else if (responseOkM) { LogText("EDSM submission succeeded, but trilateration failed. Try adding more distances." + Environment.NewLine, Color.Orange); } else { LogText("EDSM submission failed." + Environment.NewLine, Color.Red); } }); if (responseOkM && trilaterationOkM) { Invoke((MethodInvoker) delegate { //Visible = false; UnfreezeTrilaterationUI(); travelHistoryControl.TriggerEDSMRefresh(); // TODO we might eventually avoid this by further parsing EDSC response travelHistoryControl.RefreshHistory(); checkForUnknownSystemsNowKnown(); }); } else { Invoke((MethodInvoker)UnfreezeTrilaterationUI); lastTrilatelationResult = null; lastTrilatelationEntries = null; } }