/// <summary>
        /// Nombre del metodo: listarBitacora
        /// Funcionalidad: Listar todas las bitacoras
        /// </summary>
        /// <param name="pbitacora">el objeto bitacora </param>
        public List<Estructuras.StructBitacora> listarBitacora(string _Usp)
        {
            Capa_AccesoDatos.ClsDataAccess _dataAccess = new Capa_AccesoDatos.ClsDataAccess();
               List<Estructuras.StructBitacora> _listaGenerica = new List<Estructuras.StructBitacora>();
               List<Array> _arreglo = new List<Array>();

               try
               {
               IDataReader _drBitacora = _dataAccess.executeSQL_Query(_Usp);
               while (_drBitacora.Read())
               {
                   _listaGenerica.Add(new Estructuras.StructBitacora(_drBitacora.GetInt32(0),
                                                                     _drBitacora.GetDateTime(1),
                                                                     _drBitacora.GetString(2),
                                                                     _drBitacora.GetString(3)));
               }
               _dataAccess.CloseConnection();

               return _listaGenerica;
               }
               catch (Exception ex)
               {
               _dataAccess.CloseConnection();
               throw new Exception("Error en la persistencia de Bitacora... " + ex.Message);
               }
        }
        /// <summary>
        /// Nombre del metodo: autenticacion
        /// Funcionalidad: Verifica que el Usuario que esta ingresando 
        /// sea igual al los ingresados por el Usuario en de la base de datos
        /// </summary>
        /// <param name="pcodigo">el codigo de la carrera </param>
        /// <param name="pnombre">el nombre de la carrera </param>
        public Estructuras.StructUsuario autenticacion(string pcorreoElectronico, string pUsp)
        {
            Capa_AccesoDatos.ClsDataAccess _dataAccess = new Capa_AccesoDatos.ClsDataAccess();
            Estructuras.StructUsuario _usuario = new Estructuras.StructUsuario();
            Capa_AccesoDatos.Parameters[] _params = new Capa_AccesoDatos.Parameters[1];

            //asignar para cada posición del arreglo(objeto, nombre)
            _params[0] = new Capa_AccesoDatos.Parameters(pcorreoElectronico, "correo");
            try
            {
                IDataReader _drUsuario = _dataAccess.executeSQL_Query(pUsp, _params);
                //cargar a la lista genérica el resultado de la consulta.
                while (_drUsuario.Read())
                {
                    _usuario = new Estructuras.StructUsuario(_drUsuario.GetInt32(0),
                                                            _drUsuario.GetString(1),
                                                            _drUsuario.GetString(2),
                                                            _drUsuario.GetString(3),
                                                            _drUsuario.GetString(4),
                                                            _drUsuario.GetString(5),
                                                            _drUsuario.GetInt32(6),
                                                            _drUsuario.GetString(7),
                                                            _drUsuario.GetString(8),
                                                            _drUsuario.GetString(9),
                                                            _drUsuario.GetBoolean(10));
                }
                _dataAccess.CloseConnection();
                //retornar el resultado
                return _usuario;
            }
            catch (Exception ex)
            {
                _dataAccess.CloseConnection();
                throw new Exception("Error en la persistencia de Usuario... " + ex.Message);
            }
        }