public DateTime PropagationPathFindLastUpdated(PropagationPathDesignator path, ELEVATIONMODEL model) { System.Data.SQLite.SQLiteDatabase db = GetPropagationDatabase(model); lock (db.DBCommand) { db.DBCommand.CommandText = "SELECT LastUpdated FROM " + PropagationPathDesignator.TableName + " WHERE Lat1 = @Lat1 AND Lon1 = @Lon1 AND h1 = @h1 AND Lat2 = @Lat2 AND Lon2 = @Lon2 AND h2 = @h2 AND QRG = @QRG AND Radius = @Radius AND F1_Clearance = @F1_Clearance AND StepWidth = @StepWidth"; db.DBCommand.Parameters.Clear(); db.DBCommand.Parameters.Add(path.AsDouble("Lat1")); db.DBCommand.Parameters.Add(path.AsDouble("Lon1")); db.DBCommand.Parameters.Add(path.AsDouble("h1")); db.DBCommand.Parameters.Add(path.AsDouble("Lat2")); db.DBCommand.Parameters.Add(path.AsDouble("Lon2")); db.DBCommand.Parameters.Add(path.AsDouble("h2")); db.DBCommand.Parameters.Add(path.AsDouble("QRG")); db.DBCommand.Parameters.Add(path.AsDouble("Radius")); db.DBCommand.Parameters.Add(path.AsDouble("F1_Clearance")); db.DBCommand.Parameters.Add(path.AsDouble("StepWidth")); object result = db.ExecuteScalar(db.DBCommand); if (result != null) { return(SQLiteEntry.UNIXTimeToDateTime((int)result)); } } return(DateTime.MinValue); }
public PropagationPathDesignator PropagationPathFind(PropagationPathDesignator path, ELEVATIONMODEL model) { System.Data.SQLite.SQLiteDatabase db = GetPropagationDatabase(model); // save localobstruction double obstr = path.LocalObstruction; lock (db.DBCommand) { db.DBCommand.CommandText = "SELECT * FROM " + PropagationPathDesignator.TableName + " WHERE Lat1 = @Lat1 AND Lon1 = @Lon1 AND h1 = @h1 AND Lat2 = @Lat2 AND Lon2 = @Lon2 AND h2 = @h2 AND QRG = @QRG AND Radius = @Radius AND F1_Clearance = @F1_Clearance AND StepWidth = @StepWidth"; db.DBCommand.Parameters.Clear(); db.DBCommand.Parameters.Add(path.AsDouble("Lat1")); db.DBCommand.Parameters.Add(path.AsDouble("Lon1")); db.DBCommand.Parameters.Add(path.AsDouble("h1")); db.DBCommand.Parameters.Add(path.AsDouble("Lat2")); db.DBCommand.Parameters.Add(path.AsDouble("Lon2")); db.DBCommand.Parameters.Add(path.AsDouble("h2")); db.DBCommand.Parameters.Add(path.AsDouble("QRG")); db.DBCommand.Parameters.Add(path.AsDouble("Radius")); db.DBCommand.Parameters.Add(path.AsDouble("F1_Clearance")); db.DBCommand.Parameters.Add(path.AsDouble("StepWidth")); DataTable Result = db.Select(db.DBCommand); if ((Result != null) && (Result.Rows.Count > 0)) { return(new PropagationPathDesignator(Result.Rows[0], obstr)); } } return(null); }
public bool PropagationPathExists(PropagationPathDesignator path, ELEVATIONMODEL model) { System.Data.SQLite.SQLiteDatabase db = GetPropagationDatabase(model); lock (db.DBCommand) { db.DBCommand.CommandText = "SELECT EXISTS (SELECT LastUpdated FROM " + PropagationPathDesignator.TableName + " WHERE Lat1 = @Lat1 AND Lon1 = @Lon1 AND h1 = @h1 AND Lat2 = @Lat2 AND Lon2 = @Lon2 AND h2 = @h2 AND QRG = @QRG AND Radius = @Radius AND F1_Clearance = @F1_Clearance AND StepWidth = @StepWidth)"; db.DBCommand.Parameters.Clear(); db.DBCommand.Parameters.Add(path.AsDouble("Lat1")); db.DBCommand.Parameters.Add(path.AsDouble("Lon1")); db.DBCommand.Parameters.Add(path.AsDouble("h1")); db.DBCommand.Parameters.Add(path.AsDouble("Lat2")); db.DBCommand.Parameters.Add(path.AsDouble("Lon2")); db.DBCommand.Parameters.Add(path.AsDouble("h2")); db.DBCommand.Parameters.Add(path.AsDouble("QRG")); db.DBCommand.Parameters.Add(path.AsDouble("Radius")); db.DBCommand.Parameters.Add(path.AsDouble("F1_Clearance")); db.DBCommand.Parameters.Add(path.AsDouble("StepWidth")); long result = (long)db.DBCommand.ExecuteScalar(); if (result > 0) { return(true); } } return(false); }
public int PropagationPathDelete(PropagationPathDesignator path, ELEVATIONMODEL model) { System.Data.SQLite.SQLiteDatabase db = GetPropagationDatabase(model); lock (db.DBCommand) { db.DBCommand.CommandText = "DELETE FROM " + PropagationPathDesignator.TableName + " WHERE Lat1 = @Lat1 AND Lon1 = @Lon1 AND h1 = @h1 AND Lat2 = @Lat2 AND Lon2 = @Lon2 AND h2 = @h2 AND QRG = @QRG AND Radius = @Radius AND F1_Clearance = @F1_Clearance AND StepWidth = @StepWidth"; db.DBCommand.Parameters.Clear(); db.DBCommand.Parameters.Add(path.AsDouble("Lat1")); db.DBCommand.Parameters.Add(path.AsDouble("Lon1")); db.DBCommand.Parameters.Add(path.AsDouble("h1")); db.DBCommand.Parameters.Add(path.AsDouble("Lat2")); db.DBCommand.Parameters.Add(path.AsDouble("Lon2")); db.DBCommand.Parameters.Add(path.AsDouble("h2")); db.DBCommand.Parameters.Add(path.AsDouble("QRG")); db.DBCommand.Parameters.Add(path.AsDouble("Radius")); db.DBCommand.Parameters.Add(path.AsDouble("F1_Clearance")); db.DBCommand.Parameters.Add(path.AsDouble("StepWidth")); return(db.ExecuteNonQuery(db.DBCommand)); } }
public int PropagationPathUpdate(PropagationPathDesignator path, ELEVATIONMODEL model) { System.Data.SQLite.SQLiteDatabase db = GetPropagationDatabase(model); lock (db.DBCommand) { db.DBCommand.CommandText = "UPDATE " + PropagationPathDesignator.TableName + " SET Lat1 = @Lat1, Lon1 = @Lon1, h1 = @h1, Lat2 = @Lat2, Lon2 = @Lon2, h2 = @h2, QRG = @QRG, Radius = @Radius, F1_Clearance = @F1_Clearance, @StepWidth = @StepWidth, Eps1_Min = @Eps1_Min, Eps2_Min = @Eps2_Min, LastUpdated = @LastUpdated WHERE Lat1 = @Lat1 AND Lon1 = @Lon1 AND h1 = @h1 AND Lat2 = @Lat2 AND Lon2 = @Lon2 AND h2 = @h2 AND QRG = @QRG AND Radius = @Radius AND F1_Clearance = @F1_Clearance AND StepWidth = @StepWidth"; db.DBCommand.Parameters.Clear(); db.DBCommand.Parameters.Add(path.AsDouble("Lat1")); db.DBCommand.Parameters.Add(path.AsDouble("Lon1")); db.DBCommand.Parameters.Add(path.AsDouble("h1")); db.DBCommand.Parameters.Add(path.AsDouble("Lat2")); db.DBCommand.Parameters.Add(path.AsDouble("Lon2")); db.DBCommand.Parameters.Add(path.AsDouble("h2")); db.DBCommand.Parameters.Add(path.AsDouble("QRG")); db.DBCommand.Parameters.Add(path.AsDouble("Radius")); db.DBCommand.Parameters.Add(path.AsDouble("F1_Clearance")); db.DBCommand.Parameters.Add(path.AsDouble("StepWidth")); db.DBCommand.Parameters.Add(path.AsDouble("Eps1_Min")); db.DBCommand.Parameters.Add(path.AsDouble("Eps2_Min")); db.DBCommand.Parameters.Add(path.AsUNIXTime("LastUpdated")); return(db.ExecuteNonQuery(db.DBCommand)); } }
public int PropagationPathInsert(PropagationPathDesignator path, ELEVATIONMODEL model) { System.Data.SQLite.SQLiteDatabase db = GetPropagationDatabase(model); lock (db.DBCommand) { db.DBCommand.CommandText = "INSERT INTO " + PropagationPathDesignator.TableName + " (Lat1, Lon1, h1, Lat2, Lon2, h2, QRG, Radius, F1_Clearance, StepWidth, Eps1_Min, Eps2_Min, LastUpdated) VALUES (@Lat1, @Lon1, @h1, @Lat2, @Lon2, @h2, @QRG, @Radius, @F1_Clearance, @StepWidth, @Eps1_Min, @Eps2_Min, @LastUpdated)"; db.DBCommand.Parameters.Clear(); db.DBCommand.Parameters.Add(path.AsDouble("Lat1")); db.DBCommand.Parameters.Add(path.AsDouble("Lon1")); db.DBCommand.Parameters.Add(path.AsDouble("h1")); db.DBCommand.Parameters.Add(path.AsDouble("Lat2")); db.DBCommand.Parameters.Add(path.AsDouble("Lon2")); db.DBCommand.Parameters.Add(path.AsDouble("h2")); db.DBCommand.Parameters.Add(path.AsDouble("QRG")); db.DBCommand.Parameters.Add(path.AsDouble("Radius")); db.DBCommand.Parameters.Add(path.AsDouble("F1_Clearance")); db.DBCommand.Parameters.Add(path.AsDouble("StepWidth")); db.DBCommand.Parameters.Add(path.AsDouble("Eps1_Min")); db.DBCommand.Parameters.Add(path.AsDouble("Eps2_Min")); db.DBCommand.Parameters.Add(path.AsUNIXTime("LastUpdated")); return(db.ExecuteNonQuery(db.DBCommand)); } }