Ejemplo n.º 1
0
        /// <summary>
        /// Recibe de la base de datos los datos del lugar turistico a excepcion
        /// de los detalles de las actividades
        /// </summary>
        /// <param name="id">ID del lugar turistico</param>
        /// <returns>Objeto Lugar Turistico con todos los campos obligatorios y los nombres de las actividades</returns>
        /// <exception cref="BaseDeDatosExcepcion"></exception>
        public LugarTuristico ConsultarLugarTuristico(int id)
        {
            try
            {
                conexion.Conectar();

                var lugarTuristico = conexion.ConsultarLugarTuristico(id);

                lugarTuristico.Actividad = conexion.ConsultarNombreActividades(lugarTuristico.Id);
                lugarTuristico.Horario   = conexion.ConsultarHorarios(lugarTuristico.Id);
                lugarTuristico.Foto      = conexion.ConsultarFotos(lugarTuristico.Id);

                var listaCategorias = conexion.ConsultarCategoriaLugarTuristico(lugarTuristico.Id);

                foreach (Categoria elemento in listaCategorias)
                {
                    if (elemento.CategoriaSuperior != 0)
                    {
                        lugarTuristico.SubCategoria.Add(elemento);
                    }
                    else
                    {
                        lugarTuristico.Categoria.Add(elemento);
                    }
                }

                conexion.Desconectar();

                return(lugarTuristico);
            }
            catch (BaseDeDatosExcepcion e)
            {
                e.NombreMetodos.Add(this.GetType().FullName + "." + MethodBase.GetCurrentMethod().Name);
                throw e;
            }
        }