final push
This commit is contained in:
106
lib/db/guia.vala
106
lib/db/guia.vala
@@ -62,8 +62,9 @@ namespace LibSernatur {
|
||||
* Get all tuples and fields from database
|
||||
* @param conn The database connection to use
|
||||
* @return Returns a list of Guia
|
||||
* @throws PostgresError If there is a problem with with escaping strings
|
||||
*/
|
||||
public static List<Guia> get_all_guias (Connection conn) {
|
||||
public static List<Guia> get_all_guias (Connection conn) throws PostgresError {
|
||||
var res = conn.db.exec ("
|
||||
SELECT G.rut_guia, G.nombre_guia, G.calle, G.numero,
|
||||
C.id_ciudad, C.nombre_ciudad,
|
||||
@@ -109,6 +110,109 @@ JOIN region R ON (C.id_region = R.id_region)
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a tuple and fields from database
|
||||
* @param conn The database connection to use
|
||||
* @return Returns a Guia
|
||||
* @throws PostgresError If there is a problem with with escaping strings
|
||||
*/
|
||||
public static Guia? get_guia_by_run (Connection conn, string run) throws PostgresError {
|
||||
var res = conn.db.exec ("
|
||||
SELECT G.rut_guia, G.nombre_guia, G.calle, G.numero,
|
||||
C.id_ciudad, C.nombre_ciudad,
|
||||
R.id_region, R.nombre_region
|
||||
FROM guia G
|
||||
JOIN ciudad C ON (G.id_ciudad = C.id_ciudad)
|
||||
JOIN region R ON (C.id_region = R.id_region)
|
||||
WHERE rut_guia = '" + conn.escape (run) + "'
|
||||
");
|
||||
if (res.get_status () != ExecStatus.TUPLES_OK) {
|
||||
#if DEBUG
|
||||
error (conn.db.get_error_message ());
|
||||
#else
|
||||
warning (conn.db.get_error_message ());
|
||||
return null;
|
||||
#endif
|
||||
}
|
||||
|
||||
var wra = new ResultWrapper (res);
|
||||
Guia guia = null;
|
||||
int n = res.get_n_tuples ();
|
||||
for (int i = 0; i < n; i++) {
|
||||
try {
|
||||
guia = new Guia (wra.get_string_n (i, "rut_guia"),
|
||||
wra.get_string_n (i, "nombre_guia"),
|
||||
wra.get_string_n (i, "calle"),
|
||||
wra.get_int_n (i, "numero"),
|
||||
new Ciudad (wra.get_int_n (i, "id_ciudad"),
|
||||
wra.get_string_n (i, "nombre_ciudad"),
|
||||
new Region (wra.get_int_n (i, "id_region"),
|
||||
wra.get_string_n (i, "nombre_region")
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
catch (Error e) {
|
||||
#if DEBUG
|
||||
error (e.message);
|
||||
#else
|
||||
warning (e.message);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return guia;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert a staff member in the database
|
||||
* @param conn The database connection
|
||||
* @param guia The staff member to insert
|
||||
* @throws PostgresError Thrown if there is a problem with escaping strings
|
||||
*/
|
||||
public static void insert_illness (Connection conn, Guia guia) throws PostgresError {
|
||||
var res = conn.db.exec ("
|
||||
INSERT INTO guia
|
||||
(rut_guia, nombre_guia, calle, numero, id_ciudad)
|
||||
VALUES
|
||||
(
|
||||
'" + conn.escape (guia.rut_guia) + "',
|
||||
'" + conn.escape (guia.nombre_guia) + "',
|
||||
'" + conn.escape (guia.calle) + "',
|
||||
" + guia.numero.to_string () + ",
|
||||
" + guia.ciudad.id_ciudad.to_string () + "
|
||||
)
|
||||
");
|
||||
if (res.get_status () != ExecStatus.COMMAND_OK) {
|
||||
#if DEBUG
|
||||
error (conn.db.get_error_message ());
|
||||
#else
|
||||
warning (conn.db.get_error_message ());
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a staff member in the database
|
||||
* @param conn The database connection
|
||||
* @param guia The staff member to delete
|
||||
* @throws PostgresError Thrown if there is a problem with escaping strings
|
||||
*/
|
||||
public static void delete_staff (Connection conn, Guia guia) throws PostgresError {
|
||||
var res = conn.db.exec ("
|
||||
DELETE FROM guia
|
||||
WHERE (
|
||||
rut_guia = '" + conn.escape (guia.rut_guia) + "'
|
||||
)
|
||||
");
|
||||
if (res.get_status () != ExecStatus.COMMAND_OK) {
|
||||
#if DEBUG
|
||||
error (conn.db.get_error_message ());
|
||||
#else
|
||||
warning (conn.db.get_error_message ());
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user