public static void WriteFlightInDB(Flight.IFlight Flight, string Comment) { Console.WriteLine("Do you want to write these data in the database? [y/n]"); string DataWriteDecision = Console.ReadLine(); if (DataWriteDecision == "y") { FlightModel Myflight = new FlightModel(0, Flight.TakeOffSiteID, Flight.LandingSiteID, Flight.GliderID, Flight.GetTakeOffDateString(), Flight.GetFlownDistance(0), Flight.GetDuration().TotalSeconds, Flight.GetCumulativeElevation(), Flight.GetMaximumHeight(), Flight.FlightFilename, Flight.FlightType, Comment); SqliteDataAccess.SaveFlights(Myflight); int FlightID = SqliteDataAccess.LoadLastSavedFlight().FlightID; List <TraceSampleModel> FlightTrace = new List <TraceSampleModel>(); for (int i = 0; i < Flight.FlightHeights.Length; ++i) { FlightTrace.Add(new TraceSampleModel(0, FlightID, Flight.FlightLatitudes[i], Flight.FlightLongitudes[i], Flight.FlightHeights[i])); } SqliteDataAccess.SaveFlightTraceSamples(FlightTrace); Console.WriteLine("Data written"); } else { Console.WriteLine("Data writing aborted"); } }
public static void SaveFlights(FlightModel flight) { string SqliteCmd = "insert into Flight (TakeOffSiteID, LandingSiteID, GliderID, TakeOffDateTime, FlownDistance, FlightDuration, CumulatedElevation, MaxAltitude, File, FlightType, Comment) values(" + flight.TakeOffSiteID + ", " + flight.LandingSiteID + ", " + flight.GliderID + ", '" + flight.TakeOffDateTime + "', " + flight.FlownDistance.ToString(CultureEN) + ", " + flight.FlightDuration.ToString(CultureEN) + ", " + flight.CumulatedElevation.ToString(CultureEN) + ", " + flight.MaxAltitude.ToString(CultureEN) + ", '" + flight.File + "', " + flight.FlightType + ", '" + flight.Comment + "')"; using var connection = new SQLiteConnection(LoadConnectionString()); connection.Open(); using var cmd = new SQLiteCommand(SqliteCmd, connection); cmd.ExecuteNonQuery(); }
public static FlightModel LoadLastSavedFlight() { string SqliteCmd = "SELECT FlightID, TakeOffSiteID, LandingSiteID, GliderID, TakeOffDateTime, FlownDistance, FlightDuration, CumulatedElevation, MaxAltitude, File, FlightType, Comment FROM Flight Where FlightID = (SELECT MAX(FlightID) FROM Flight)"; using var connection = new SQLiteConnection(LoadConnectionString()); connection.Open(); using var cmd = new SQLiteCommand(SqliteCmd, connection); using SQLiteDataReader reader = cmd.ExecuteReader(); reader.Read(); FlightModel LastFlight = new FlightModel(reader.GetInt32(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetInt32(3), reader.GetString(4), reader.GetDouble(5), reader.GetDouble(6), reader.GetDouble(7), reader.GetDouble(8), reader.GetString(9), reader.GetInt32(10), reader.GetString(11)); return(LastFlight); }