Exemplo n.º 1
0
        public IEnumerable <ResultadoComparacaoUsuarioDTO> ObterDiferenca(ModoComparacao mode)
        {
            List <ResultadoComparacaoUsuarioDTO> resultado = new List <ResultadoComparacaoUsuarioDTO>();

            switch (mode)
            {
            case ModoComparacao.Total:
                resultado.AddRange(ObterDiferenca(ladoA, ladoB));
                resultado.AddRange(ObterDiferenca(ladoB, ladoA, resultado.Where(x => x.Resultado == ResultadoComparacao.AmbosLados).Select(x => x.LadoA)));
                break;

            case ModoComparacao.OrientadoPeloLadoA:
                resultado.AddRange(ObterDiferenca(ladoA, ladoB));
                break;

            case ModoComparacao.OrientadoPeloLadoB:
                resultado.AddRange(ObterDiferenca(ladoB, ladoA));
                break;
            }

            return(resultado);
        }
Exemplo n.º 2
0
        protected virtual void ConstruirLados(string connectionString, string dominio, string diretorio, string usuario, string senha, ModoComparacao tipo, ref IRepositorio ladoA, ref IRepositorio ladoB)
        {
            if (tipo != ModoComparacao.Total)
            {
                Console.WriteLine("Qual o lado A [AD, CoreSSO]?");
                var lado = Console.ReadLine();

                if (lado == "AD")
                {
                    ladoA = new ADSync.SMEADSync(dominio, diretorio, usuario, senha);
                    ladoB = new RepositorioCoreSSO(connectionString);
                }
                else if (lado == "CoreSSO")
                {
                    ladoA = new RepositorioCoreSSO(connectionString);
                    ladoB = new ADSync.SMEADSync(dominio, diretorio, usuario, senha);
                }
            }
            else
            {
                ladoA = new RepositorioCoreSSO(connectionString);
                ladoB = new ADSync.SMEADSync(dominio, diretorio, usuario, senha);
            }
        }
Exemplo n.º 3
0
        internal IEnumerable <ResultadoComparacaoUsuarioDTO> Comparar(string connectionString, string dominio, string diretorio, string usuario, string senha, ModoComparacao tipo)
        {
            IRepositorio ladoA = null;
            IRepositorio ladoB = null;

            ConstruirLados(connectionString, dominio, diretorio, usuario, senha, tipo, ref ladoA, ref ladoB);

            if (ladoA != null && ladoB != null)
            {
                return(new Comparador(ladoA, ladoB).ObterDiferenca(tipo));
            }
            else
            {
                return(Enumerable.Empty <ResultadoComparacaoUsuarioDTO>());
            }
        }
Exemplo n.º 4
0
        protected override void ConstruirLados(string connectionString, string dominio, string diretorio, string usuario, string senha, ModoComparacao tipo, ref IRepositorio ladoA, ref IRepositorio ladoB)
        {
            Console.WriteLine("Informar o arquivo base para comparação");
            var caminho = Console.ReadLine();

            List <ImportacaoManualDTO> oqImportar = new List <ImportacaoManualDTO>();

            if (File.Exists(caminho))
            {
                ladoA = new RepositorioImportacaoManual(caminho);
                ladoB = new ADSync.SMEADSync(dominio, diretorio, usuario, senha);
            }
            else
            {
                Console.WriteLine("Arquivo não encontrado");
            }
        }