コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }