protected void Button3_Click(object sender, EventArgs e)
        {
            oLog = new Modelo_Entidades.Log();
            oLog.USU_CODIGO = oUsuario.USU_CODIGO;
            oLog.fecha_y_hora = DateTime.Now;
            oLog.accion = "Egreso del Sistema";
            Controladora.FachadaModuloSeguridad.ObtenerInstancia().RealizarLogOut(oUsuario);

            Session.Abandon();
            Page.Response.Redirect("~/Seguridad/Login.aspx", false);
        }
        public Modelo_Entidades.USUARIO login(string usuario, string clave)
        {
            //buscar un usuario con el mismo login
            Modelo_Entidades.USUARIO oUsuarioEncontrado = Modelo_Entidades.ModeloSeguridadContainer.ObtenerInstancia().USUARIOS.ToList<Modelo_Entidades.USUARIO>().Find(delegate(Modelo_Entidades.USUARIO oUsuarioBuscado) { return oUsuarioBuscado.USU_CODIGO == usuario; });
            if (oUsuarioEncontrado != null)
            {
                if (oUsuarioEncontrado.USU_ESTADO == true)
                {
                    //oUsuario=oUsuarioEncontrado;
                    string clave_encriptada = this.encriptarValidar(clave);
                    //string clave_encriptada = clave.GetHashCode(System.Security.Cryptography.MD5)
                    // comparar el md5 obtenido con el guardado
                    if (oUsuarioEncontrado.USU_CLAVE == clave_encriptada)
                    {
                        //auditar el login

                        //crear el log
                        Modelo_Entidades.Log oLogin = new Modelo_Entidades.Log();
                        //asignarle los valores
                        oLogin.accion = "LOGIN";
                        oLogin.fecha_y_hora = System.DateTime.Now;
                        oLogin.USU_CODIGO = oUsuarioEncontrado.USU_CODIGO;
                        //guardarlo en la base de datos:
                        Modelo_Entidades.Modelo_Auditoria.ObtenerInstancia().Log_Historia.AddObject(oLogin);
                        int resultado = Modelo_Entidades.Modelo_Auditoria.ObtenerInstancia().SaveChanges();
                        if (resultado == -1)
                        {
                            throw new Exception("Error al registrar el login.");
                            //oUsuario.USU_CLAVE = clave;
                            //return oUsuario; //devuelvo el usuario con la clave ingresada
                        }
                        // entregar el usuario encontrado al formulario
                        return oUsuarioEncontrado;
                    }
                    else
                    {
                        throw new Exception("La contraseña ingresada es incorrecta");
                        //oUsuario.USU_CLAVE = clave;
                        //return oUsuario; //devuelvo el usuario con la clave ingresada
                    }
                }
                else
                {
                    throw new Exception("El usuario ingresado está deshabilitado");
                }
            }
            else
            {
                throw new Exception("El usuario ingresado no se encuentra registrado en el sistema");
                //return oUsuarioEncontrado; //devuelvo el usuario nulo
            }
        }
 public bool LogOut(Modelo_Entidades.USUARIO oUsuario)
 {
     Modelo_Entidades.Log oLogOut = new Modelo_Entidades.Log();
     oLogOut.USU_CODIGO = oUsuario.USU_CODIGO;
     oLogOut.fecha_y_hora = System.DateTime.Now;
     oLogOut.accion = "LOGOUT";
     Modelo_Entidades.Modelo_Auditoria.ObtenerInstancia().Log_Historia.AddObject(oLogOut);
     int resultado = Modelo_Entidades.Modelo_Auditoria.ObtenerInstancia().SaveChanges();
     if (resultado != -1)
     {
         return true;
     }
     return false;
 }