/// <summary> /// Metodo que obtiene una Persona por un id /// </summary> /// <param name="id">id de la persona buscada</param> /// <returns>Persona buscada</returns> public Persona GetPersonaPorId(int id) { //Creo el obteno persona que devolveré Persona persona = new Persona(); //comando que ejecutaré SqlCommand comando = new SqlCommand("select idpersona,nombre_persona, edad_persona from personas where idpersona=@persona"); //parametros del comando SqlParameter parametro = new SqlParameter("@persona", id); comando.Parameters.Add(parametro); //creo el objeto helper que me permitira obtener los datos DataBaseHelper helper = new DataBaseHelper(); //Bloque con sensibilidad de lanzar excepcion en caso de perdida de la conectividad o alguna otra razon relacionada con la bbdd. try { //Obtengo los datos DataTable datos = helper.getDatos(comando); //Si hay datos if (datos.Rows[0] != null) { //obtengo la primera fila, ya que solo habrá una fila DataRow row = datos.Rows[0]; //recreo el objeto persona con los datos obtenidos de la bbdd persona = new Persona(Convert.ToInt32(row["idpersona"]), row["nombre_persona"].ToString(), Convert.ToInt32(row["edad_persona"])); //Creo un helper de mascotas para obtener la lista de mascotas de esta persona. MascotaDal helperMascotas = new MascotaDal(); //obtengo la lista de mascotas o lista vacia si no hubiera List <Mascota> mascotas = helperMascotas.GetListadoPorPersona(persona.IdPersona); //asigno la lista de mascotas persona.ListaMascotas = mascotas; } } catch (SqlException e) { throw e; } //devuelvo la persona buscada. return(persona); }
/// <summary> /// Devuelve un listado de todas las personas existentes en la bbdd /// </summary> /// <returns>El listado de personas.</returns> public List <Persona> GetListado() { //creo el listado que voy a rellenar y devolver List <Persona> listado = new List <Persona>(); //creo el command que voy a ejecutar SqlCommand comando = new SqlCommand("select idpersona,nombre_persona, edad_persona from personas"); //creo el objeto helper que me servira para obtener los datos DataBaseHelper helper = new DataBaseHelper(); //Bloque con sensibilidad de lanzar excepcion en caso de perdida de la conectividad o alguna otra razon relacionada con la bbdd. try { //obtengo los datos. DataTable datos = helper.getDatos(comando); //creo un helper que me servira para obtener las mascotas de cada persona. MascotaDal helperMascotas = new MascotaDal(); //Por cada fila en la tabla personas... foreach (DataRow row in datos.Rows) { //creo un objeto persona Persona persona = new Persona(Convert.ToInt32(row["idpersona"]), row["nombre_persona"].ToString(), Convert.ToInt32(row["edad_persona"])); //obtengo la lista de mascotas de esa persona List <Mascota> mascotas = helperMascotas.GetListadoPorPersona(persona.IdPersona); //asigno la lista de mascotas al objeto persona persona.ListaMascotas = mascotas; //añado el objeto persona a la lista listado.Add(persona); } } catch (SqlException e) { throw e; } //devuelvo la lista. return(listado); }