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.Interno; //Executor Interno UsuarioBus busUsuario = new UsuarioBus(HistoricoAplicacao.INTERNO); 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 { Funcionario funcionario = _busFunc.ObterFuncionarioExecutor(login); executor.Tid = funcionario.Tid; executor.UsuarioId = funcionario.Usuario.Id; } using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); busUsuario.Deslogar(login, executor, isDeslogarForcado, bancoDeDados); _busFunc.Deslogar(login, bancoDeDados); bancoDeDados.Commit(); } }