public UsuarioBean login_usuario_acceso(UsuarioBean acceso) {
            UsuarioBean usuario = new UsuarioBean();
            mibase.abrir_conexion_base();
            try
            {
                List<UsuarioBean> lsUsuario = mibase.obtenerUsurioByDocumento(acceso.getNumeroDocumento(),true);
                if (lsUsuario[0].getPassword().CompareTo(acceso.getPassword()) == 0)
                {
                    usuario = lsUsuario[0];
                }
                else
                {
                    usuario.setPassword("Contraseña incorrecta");
                }

            }
            catch (ExpObtenerRegistro ex)
            {
                usuario.setPassword(ex.Message);
            }
            catch (ArgumentOutOfRangeException ex)
            {
                string ms = ex.Message;
                usuario.setPassword("usuario no existe");
            }
            finally {
                mibase.cerrar_conexion_base();
            }
            return usuario;
        }
        public void btn_acceso_sistema(object sender, EventArgs e) {
            usuarioLogin = new UsuarioBean();
            usuarioLogin.setNumeroDocumento(this.txbxDocumento.Text);
            usuarioLogin.setPassword(GlobalSistema.seguridad.encriptar_informacion(this.txbxPassword.Text));
            usuarioLogin = GlobalSistema.sistema.login_usuario_acceso(usuarioLogin);
            if (string.IsNullOrEmpty(usuarioLogin.getNombres()))
            {
                this.mensajeError.Text = usuarioLogin.getPassword();
            }
            else if (usuarioLogin.getEstadoUsuario().Equals("A") 
                || usuarioLogin.getNumeroDocumento().Equals("1716166788"))
            {
                Session[GlobalSistema.usuarioSesionSistema] = usuarioLogin;
                usuarioLogin.setFechaUltimoAcceso(System.DateTime.Now);
                GlobalSistema.sistema.insertar_usuario_sistema(usuarioLogin, false);
                Response.Redirect("EdicionIngresoIncidente.aspx");
            }
            else if (usuarioLogin.getEstadoUsuario().Equals("E"))
            {
                this.mensajeError.Text = "Usuario no permitido el acceso, contactese con soporte";
            }
            else if (usuarioLogin.getEstadoUsuario().Equals("I"))
            {
                this.mensajeError.Text = "Usuario inabilitado, debe ser dado de alta por el administrador";
            }
            else {
                this.mensajeError.Text = "Estado desconocido";
            }

        }
        public List<UsuarioBean> obtenerUsurioByDocumento(string documento, bool tipoBusqueda)
        {
            SqlCommand cmd = null;
            if (tipoBusqueda) // true es documento
            {
                cmd = new SqlCommand("obtener_usuario_sp", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@documento", documento);
            }
            else {
                cmd = new SqlCommand("obtener_usuario_id_sp", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@codigo_usuario", documento);
            }
            List<UsuarioBean> usuarios = new List<UsuarioBean>();
            try
            {
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable tb = new DataTable("UsuarioBean");
                da.Fill(tb);
                for (int i = 0; i < tb.Rows.Count; i++)
                {
                    UsuarioBean usuario = new UsuarioBean();
                    usuario.setCodigoUsuario(Convert.ToInt16(tb.Rows[i][0].ToString()));
                    usuario.setNumeroDocumento(tb.Rows[i][1].ToString());
                    usuario.setNombres(tb.Rows[i][2].ToString());
                    usuario.setApellido(tb.Rows[i][3].ToString());
                    usuario.setEstadoUsuario(tb.Rows[i][4].ToString());
                    usuario.setFechaCreacion(DateTime.Parse(tb.Rows[i][5].ToString()));
                    if (!string.IsNullOrEmpty(tb.Rows[i][6].ToString()))
                    usuario.setFechaUltimoAcceso(DateTime.Parse(tb.Rows[i][6].ToString()));
                    usuario.setNivelAcceso(Convert.ToInt16(tb.Rows[i][7].ToString()));
                    usuario.setPassword(tb.Rows[i][8].ToString());
                    usuario.setCorreo(tb.Rows[i][9].ToString());
                    usuarios.Add(usuario);
                } return usuarios;
            }
            catch (IndexOutOfRangeException ex)
            {
                logs.escritura_archivo_string_ex(ex);
                throw new ExpObtenerRegistro(ex.Message);
            }
            catch (ArgumentNullException ex)
            {
                logs.escritura_archivo_string_ex(ex);
                throw new ExpObtenerRegistro(ex.Message);
            }
            catch (Exception ex)
            {
                logs.escritura_archivo_string_ex(ex);
                throw new Exception(ex.Message);
            }

        }
 public UsuarioBean actualizar_usuario_sistema(UsuarioBean actualizar) {
     UsuarioBean usuario = new UsuarioBean();
     mibase.abrir_conexion_base();
     try
     {
         mibase.insertarActualizarUsuario(actualizar, false);
         usuario = actualizar;
     }
     catch (ExpObtenerRegistro ex)
     {
         usuario.setApellido(null);
         usuario.setPassword(ex.Message);
     }
     catch (ArgumentOutOfRangeException ex)
     {
         string ms = ex.Message;
         usuario.setApellido(null);
         usuario.setPassword("usuario no actualizado");
     }
     catch (ExInsertarRegistro ex)
     {
         string ms = ex.Message;
         usuario.setApellido(null);
         usuario.setPassword(ex.Message);
     }
     catch (Exception ex)
     {
         string ms = ex.Message;
         usuario.setApellido(null);
         usuario.setPassword("Error en actualizacion, contactese con soporte");
     }
     finally {
         mibase.cerrar_conexion_base();
     }
     return usuario;        
 }