public void AtualizarUsuariosAD()
        {
            var usuarios = repositorioCoreSSO.ObterParaComparacao();

            foreach (var usuario in usuarios)
            {
                if (usuario.Eh_Gestor.Equals('S') || (usuario.Eh_Professor.Equals('S') && usuario.DataCriacao.Date > usuario.HojeMenos40Meses.Date))
                {
                    var sincronizacao = repositorioADSync.ObterSincronizacao(usuario.Id);
                    if (sincronizacao == null || usuario.DataAlteracao > sincronizacao.DataUltimaSincronizacao)
                    {
                        var resultado = new ResultadoSincronismoDTO()
                        {
                            Usuario = usuario
                        };
                        try
                        {
                            if (usuario.Situacao.Equals(3))
                            {
                                repositorioAD.DesativarUsuario(usuario.Login);
                            }
                            else if ((TipoCriptografia)usuario.Criptografia != TipoCriptografia.TripleDES)
                            {
                                repositorioAD.ResetarSenhaParaPadrao(usuario);
                                repositorioCoreSSO.ResetarSenhaParaPadrao(usuario);
                            }
                            else
                            {
                                repositorioAD.AtualizarSenha(usuario.Login, new MSTech.Security.Cryptography.SymmetricAlgorithm(MSTech.Security.Cryptography.SymmetricAlgorithm.Tipo.TripleDES).Decrypt(usuario.Senha));
                            }

                            if (sincronizacao == null)
                            {
                                repositorioADSync.IncluirSincronizacao(new SincronizacaoDTO()
                                {
                                    UsuarioIdCoreSSO        = usuario.Id,
                                    DataUltimaSincronizacao = DateTime.Now,
                                    Ativo = !usuario.Situacao.Equals(3)
                                });
                            }
                            else
                            {
                                sincronizacao.DataUltimaSincronizacao = DateTime.Now;
                                repositorioADSync.AtualizarSincronizacao(sincronizacao);
                            }

                            resultado.Sucesso = true;
                        }
                        catch (Exception ex)
                        {
                            resultado.Sucesso      = false;
                            resultado.MensagemErro = ex.Message;
                        }
                        repositorioADSync.IncluirResultadoSincronizacao(resultado);
                    }
                }
            }
        }
        private void AtualizarSincronizacao(UsuarioDTO item)
        {
            var sincronizacaoDto = new SincronizacaoDTO()
            {
                UsuarioIdCoreSSO        = item.Id,
                DataUltimaSincronizacao = DateTime.Now,
                Ativo = item.Situacao.Equals(3)
            };

            if (repositorioADSync.ObterSincronizacao(item.Id) != null)
            {
                repositorioADSync.AtualizarSincronizacao(sincronizacaoDto);
            }
            else
            {
                repositorioADSync.IncluirSincronizacao(sincronizacaoDto);
            }
        }