/* * save init location in the db. */ public async Task <long> SaveInitLocation(FlightPlan.InitialLocation init) { using SQLiteConnection con = new SQLiteConnection(_connectionString); await con.OpenAsync(); using var cmd = new SQLiteCommand("INSERT INTO InitLocation(InitialLongitude," + " InitialLatitude, Date) VALUES(@InitialLongitude, @InitialLatitude, @Date" + ")", con); cmd.Parameters.AddWithValue("@InitialLongitude", init.InitialLongitude); cmd.Parameters.AddWithValue("@InitialLatitude", init.InitialLatitude); cmd.Parameters.AddWithValue("@Date", init.Date); await cmd.ExecuteNonQueryAsync(); using var cmd2 = new SQLiteCommand("SELECT last_insert_rowid()", con); Int64 lastID = (Int64)await cmd2.ExecuteScalarAsync(); return(lastID); }
/* * return init location with specific id. */ public async Task <FlightPlan.InitialLocation> LoadInitLocation(long id) { using SQLiteConnection con = new SQLiteConnection(_connectionString); await con.OpenAsync(); using var cmd = new SQLiteCommand("SELECT * FROM InitLocation WHERE id = '" + id + "';", con); using SQLiteDataReader rdr = (SQLiteDataReader) await cmd.ExecuteReaderAsync(); if (await rdr.ReadAsync()) { FlightPlan.InitialLocation init = new FlightPlan.InitialLocation(); init.InitialLongitude = rdr.GetDouble(1); init.InitialLatitude = rdr.GetDouble(2); init.Date = rdr.GetDateTime(3).ToUniversalTime(); return(init); } return(null); }