public static void Deslogar(string login = null, bool isDeslogarForcado = false) { if (login == null && HttpContext.Current.User == null && !(HttpContext.Current.User is EtramitePrincipal)) { return; } AutenticacaoExecutor executor = new AutenticacaoExecutor(); executor.Tipo = (int)eExecutorTipo.Credenciado; UsuarioBus busUsuario = new UsuarioBus(HistoricoAplicacao.CREDENCIADO, UsuarioCredenciado); if (HttpContext.Current.User != null && (HttpContext.Current.User is EtramitePrincipal)) { EtramitePrincipal user = (HttpContext.Current.User as EtramitePrincipal); login = user.EtramiteIdentity.Login; executor.Tid = user.EtramiteIdentity.FuncionarioTid; executor.UsuarioId = user.EtramiteIdentity.UsuarioId; } else { CredenciadoPessoa credenciado = _busCred.Obter(login); executor.Tid = credenciado.Tid; executor.UsuarioId = credenciado.Usuario.Id; } using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); busUsuario.Deslogar(login, executor, isDeslogarForcado, bancoDeDados); _busCred.Deslogar(login, bancoDeDados); bancoDeDados.Commit(); } }