public void Executar(params string[] args)
        {
            IEnumerable <UsuarioDTO>             paraIncluir = null;
            IEnumerable <ResultadoImportacaoDTO> resultado   = null;

            var connectionString = args[0];
            var dominio          = args[1];
            var diretorio        = args[2];
            var usuario          = args[3];
            var senha            = args[4];

            IConsultaOU repositorioConsultaOU = new RepositorioCoreSSO(connectionString);

            paraIncluir = ObterDadosPorArquivo();

            if (paraIncluir != null && paraIncluir.Count() > 0)
            {
                resultado = ResetarSenha(paraIncluir, dominio, diretorio, usuario, senha, repositorioConsultaOU);
            }

            if (resultado != null)
            {
                string json = JsonConvert.SerializeObject(resultado);
                SME.ADSync.Core.Extesions.Log.GravarArquivo(json, "ResetarSenhaNoAD_");
            }
        }
        private static void RegistrarRepositorios(IServiceCollection services, IConfiguration configuration, bool singleton)
        {
            var repositorioADSync  = new RepositorioADSync(configuration.GetConnectionString("ADSync-SqlServer"));
            var repositorioCoreSSO = new RepositorioCoreSSO(configuration.GetConnectionString("CoreSSO"));
            var repositorioAD      = new SMEADSync(configuration["domain"],
                                                   configuration["container"],
                                                   configuration["userAD"],
                                                   configuration["passwordAD"]);

            if (singleton)
            {
                services.AddSingleton <IRepositorioADSync>(_ => repositorioADSync);
                services.AddSingleton <IRepositorioCoreSSO>(_ => repositorioCoreSSO);
                services.AddSingleton <IRepositorioAD>(_ => repositorioAD);
                services.AddSingleton <IComparador>(_ => new Comparador(repositorioCoreSSO, repositorioAD));
                services.AddSingleton <IConsultaOU>(_ => repositorioCoreSSO);
            }
            else
            {
                services.TryAddScopedWorkerService <IRepositorioADSync>(_ => repositorioADSync);
                services.TryAddScopedWorkerService <IRepositorioCoreSSO>(_ => repositorioCoreSSO);
                services.TryAddScopedWorkerService <IRepositorioAD>(_ => repositorioAD);
                services.TryAddScopedWorkerService <IComparador>(_ => new Comparador(repositorioCoreSSO, repositorioAD));
                services.TryAddScopedWorkerService <IConsultaOU>(_ => repositorioCoreSSO);
            }
        }
Пример #3
0
        public void Executar(params string[] args)
        {
            var connectionString = args[0];

            Console.WriteLine("Qual usuario?");
            var usuario   = Console.ReadLine();
            var resultado = new RepositorioCoreSSO(connectionString).ObterUmOuPadrao(usuario);

            Console.WriteLine(resultado != null ? resultado.ToString() : "nulo");
        }
        public void Executar(params string[] args)
        {
            Console.WriteLine("Tipo de operação [Arquivo, ComparacaoCoreSSO]");
            var tipoOperacao = Console.ReadLine();

            IEnumerable <UsuarioDTO>             paraIncluir = null;
            IEnumerable <ResultadoImportacaoDTO> resultado   = null;

            var connectionString = args[0];
            var dominio          = args[1];
            var diretorio        = args[2];
            var usuario          = args[3];
            var senha            = args[4];

            IConsultaOU repositorioConsultaOU = new RepositorioCoreSSO(connectionString);

            switch (tipoOperacao)
            {
            case "Arquivo":
                paraIncluir = ObterDadosPorArquivo();
                break;

            case "ComparacaoCoreSSO":
                paraIncluir =
                    from i in (new ComandoComparar().Comparar(connectionString, dominio, diretorio, usuario, senha, SME.ADSync.Core.Enumerados.ModoComparacao.OrientadoPeloLadoA))
                    where i.LadoA != null && i.Resultado == SME.ADSync.Core.Enumerados.ResultadoComparacao.SomenteLadoA
                    select i.LadoA;
                break;
            }

            if (paraIncluir != null && paraIncluir.Count() > 0)
            {
                resultado = IncluirNoAD(paraIncluir, dominio, diretorio, usuario, senha, repositorioConsultaOU);
            }

            if (resultado != null)
            {
                string json = JsonConvert.SerializeObject(resultado);
                SME.ADSync.Core.Extesions.Log.GravarArquivo(json, "IncluirUsuarioNoAD_");
            }
        }
Пример #5
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);
            }
        }