/// <summary>
        /// Nombre del metodo: buscarCarrera
        /// Funcionalidad: Buscar la Carrera de almacenada en la base de datos
        /// </summary>
        /// <param name="pcodigo">el codigo de la carrera </param>
        /// <param name="pnombre">el nombre de la carrera </param>
        public List<Estructuras.StructCarrera> buscarCarrera(String usp, String pcriterio)
        {
            try
            {

                Capa_AccesoDatos.ClsDataAccess _dataAccess = new Capa_AccesoDatos.ClsDataAccess();
                Parameters[] parametros = new Parameters[1];
                parametros[0] = new Capa_AccesoDatos.Parameters(pcriterio, "criterio");

                IDataReader _drCarrera = _dataAccess.executeSQL_Query(usp, parametros);

                while (_drCarrera.Read())
                {

                    _listaGenerica.Add(new Estructuras.StructCarrera(_drCarrera.GetInt32(0),
                                                                     _drCarrera.GetString(1),
                                                                     _drCarrera.GetString(2),
                                                                     _drCarrera.GetBoolean(3)));

                }
                _dataAccess.CloseConnection();
                return _listaGenerica;

            }
            catch (Exception ex)
            {
                _dataAccess.CloseConnection();
                throw new Exception("Error en la persistencia de Carrera... " + ex.Message);
            }
        }
 public List<Estructuras.StructForo> buscarForo(int pid, string pUsp)
 {
     Capa_AccesoDatos.ClsDataAccess _dataAccess = new Capa_AccesoDatos.ClsDataAccess();
     //asignar para cada posición del arreglo(objeto, nombre)
     Capa_AccesoDatos.Parameters[] _params = new Capa_AccesoDatos.Parameters[1];
     _params[0] = new Capa_AccesoDatos.Parameters(pid, "id");
     try
     {
         //TRY --- envía los datos a la capa de persistencia, incluída la instancia del procedimiento
         //almacenado correspondiente para este caso de uso
         IDataReader _drForo = _dataAccess.executeSQL_Query(pUsp, _params);
         while (_drForo.Read())
         {
             _listaGenerica.Add(new Estructuras.StructForo(
                 _drForo.GetInt32(0),
                 _drForo.GetString(1),
                 _drForo.GetString(2)
                 ));
         }
         _dataAccess.CloseConnection();
         //retornar el resultado
         return _listaGenerica;
     }
     catch (Exception ex)
     {
         //captura la excepción, como este procedimiento fue invocado por la capa de Presentación, envía las excepciones
         //capturadas a la capa de presentación y esta se encarga de mostrarlas
         throw new System.Exception(ex.Message);
     }
 }
        public List<Estructuras.StructGrupo> listarGrupos(string pUsp)
        {
            Capa_AccesoDatos.ClsDataAccess _dataAccess = new Capa_AccesoDatos.ClsDataAccess();
            List<Estructuras.StructGrupo> _listaGenerica = new List<Estructuras.StructGrupo>();

            try
            {
                //asignar al lector de datos el resultado de la consulta
                IDataReader _drEstudiante = _dataAccess.executeSQL_Query(pUsp);
                //cargar a la lista genérica el resultado de la consulta
                while (_drEstudiante.Read())
                {
                    _listaGenerica.Add(new Estructuras.StructGrupo(
                        _drEstudiante.GetInt32(0),
                        _drEstudiante.GetString(1),
                        _drEstudiante.GetString(2),
                        _drEstudiante.GetInt32(3),
                        _drEstudiante.GetString(4)));
                }
                _dataAccess.CloseConnection();
                //retornar el resultado
                return _listaGenerica;
            }
            catch (Exception ex)
            {
                _dataAccess.CloseConnection();
                throw new Exception("Error en la persistencia de Usuario.. " + ex.Message);
            }
        }