public RetornoUsuario Login(RequisicaoUsuario requisicao)
        {
            try
            {
                if (string.IsNullOrEmpty(requisicao.Usuario.IDLDAP) || string.IsNullOrEmpty(requisicao.Usuario.Senha))
                {
                    return(new RetornoUsuario(requisicao.Usuario, null, new Status(3, "Usuário/Senha em branco.", false)));
                }

                if (CPF.IsValid(requisicao.Usuario.IDLDAP) ||
                    (
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("DE-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("ESC-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("EFAP-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CGRH-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CGEB-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CIMA-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CISE-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("COFI-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CEE-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("DA-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("GS-"))
                    )
                {
                    requisicao.Usuario.CPF = requisicao.Usuario.IDLDAP;
                }
                else if (RG.IsValid(requisicao.Usuario.IDLDAP))
                {
                    requisicao.Usuario.RG = requisicao.Usuario.IDLDAP;
                }
                else
                {
                    requisicao.Usuario.Nome = requisicao.Usuario.IDLDAP;
                }

                requisicao.Usuario.IDLDAP = null;

                Usuario usuario = _usuarioNegocio.Login(requisicao.Usuario);

                if (usuario.IDLDAP != "0" && !String.IsNullOrEmpty(usuario.IDLDAP))
                {
                    return(new RetornoUsuario(usuario, null, new Status(0, "", true)));
                }
                else
                {
                    return(new RetornoUsuario(usuario, null, new Status(3, "Usuário não encontrado", false)));
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("Ops"))
                {
                    return(new RetornoUsuario(requisicao.Usuario, null, new Status(66, ex.Message, false)));
                }
                else
                {
                    return(new RetornoUsuario(requisicao.Usuario, null, new Status(3, ex.Message, false)));
                }
            }
        }