namespace Sernatur { namespace DB { using Postgres; using Wrapper; public class Vehiculo : GLib.Object { public string patente { get; set; default = ""; } public uint ano_vehiculo { get; set; default = 0; } public string marca { get; set; default = ""; } public uint capacidad { get; set; default = 0; } public Vehiculo (string patente = "", uint ano_vehiculo = 0, string marca = "", uint capacidad = 0) { this.patente = patente; this.ano_vehiculo = ano_vehiculo; this.marca = marca; this.capacidad = capacidad; } public static Vehiculo[]? get_all_vehiculos(Database conn) { var res = conn.exec (" SELECT patente, ano_vehiculo, marca, capacidad FROM vehiculo "); if (res.get_status () != ExecStatus.TUPLES_OK) { #if DEBUG error (conn.get_error_message ()); #else warning (conn.get_error_message ()); return null; #endif } var wra = new ResultWrapper (res); Vehiculo[] vehiculos = {}; int n = res.get_n_tuples (); for (int i = 0; i < n; i++) { try { var vehiculo = new Vehiculo (wra.get_string_n (i, "patente"), wra.get_int_n (i, "ano_vehiculo"), wra.get_string_n (i, "marca"), wra.get_int_n (i, "capacidad") ); vehiculos += vehiculo; } catch (Error e) { #if DEBUG error (e.message); #else warning (e.message); #endif } } return vehiculos; } } } }