private void buttonUpdate_Click(object sender, EventArgs e) { var dist = DistanceAsDouble(textBoxDistance.Text.Trim()); if (!dist.HasValue) MessageBox.Show("Distance in wrong format!"); else { DistanceClass distance = new DistanceClass(); distance.Dist = dist.Value; distance.CreateTime = DateTime.UtcNow; distance.CommanderCreate = textBoxCmdrName.Text.Trim(); distance.NameA = textBoxSystem.Text; distance.NameB = textBoxPrevSystem.Text; distance.Status = DistancsEnum.EDDiscovery; distance.Store(); SQLiteDBClass.AddDistanceToCache(distance); dataGridView1.Rows[lastRowIndex].Cells[2].Value = textBoxDistance.Text.Trim(); } }
internal void NewPosition(object source) { try { string name = netlog.visitedSystems.Last().Name; Invoke((MethodInvoker)delegate { LogText("Arrived to system: "); SystemClass sys1 = SystemData.GetSystem(name); if (sys1 == null || sys1.HasCoordinate == false) LogText(name , Color.Blue); else LogText(name ); int count = GetVisitsCount(name); LogText(" : Vist nr " + count.ToString() + Environment.NewLine); System.Diagnostics.Trace.WriteLine("Arrived to system: " + name + " " + count.ToString() + ":th visit."); var result = visitedSystems.OrderByDescending(a => a.time).ToList<SystemPosition>(); if (TrilaterationControl.Visible) { CloseTrilateration(); MessageBox.Show("You have arrived to another system while trilaterating." + " As a pre-caution to prevent any mistakes with submitting wrong systems or distances" + ", your trilateration was aborted."); } buttonTrilaterate.Enabled = false; // when we arrive to new system, currently opened SystemInformation will _always_ be for non-current system SystemPosition item = result[0]; SystemPosition item2; if (result.Count > 1) item2 = result[1]; else item2 = null; // grab distance to next (this) system textBoxDistanceToNextSystem.Enabled = false; if (textBoxDistanceToNextSystem.Text.Length > 0 && item2 != null) { SystemClass currentSystem = null, previousSystem = null; SystemData.SystemList.ForEach(s => { if (s.name == item.Name) currentSystem = s; if (s.name == item2.Name) previousSystem = s; }); if (currentSystem == null || previousSystem == null || !currentSystem.HasCoordinate || !previousSystem.HasCoordinate) { var presetDistance = DistanceAsDouble(textBoxDistanceToNextSystem.Text.Trim(), 45); if (presetDistance.HasValue) { var distance = new DistanceClass { Dist = presetDistance.Value, CreateTime = DateTime.UtcNow, CommanderCreate = textBoxCmdrName.Text.Trim(), NameA = item.Name, NameB = item2.Name, Status = DistancsEnum.EDDiscovery }; Console.Write("Pre-set distance " + distance.NameA + " -> " + distance.NameB + " = " + distance.Dist); distance.Store(); SQLiteDBClass.AddDistanceToCache(distance); } } } textBoxDistanceToNextSystem.Clear(); textBoxDistanceToNextSystem.Enabled = true; AddHistoryRow(new DateTime(1990, 1, 1), item, item2); lastRowIndex += 1; StoreSystemNote(); }); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine("Exception NewPosition: " + ex.Message); System.Diagnostics.Trace.WriteLine("Trace: " + ex.StackTrace); } }