public ServicoIncluirUsuariosAD(IComparador comparador, IConsultaOU consultaOU, IRepositorioAD repositorioAD, IRepositorioCoreSSO repositorioCoreSSO, IRepositorioADSync repositorioADSync) { this.comparador = comparador ?? throw new ArgumentNullException(nameof(comparador)); this.consultaOU = consultaOU ?? throw new ArgumentNullException(nameof(consultaOU)); this.repositorioAD = repositorioAD ?? throw new ArgumentNullException(nameof(repositorioAD)); this.repositorioCoreSSO = repositorioCoreSSO ?? throw new ArgumentNullException(nameof(repositorioCoreSSO)); this.repositorioADSync = repositorioADSync ?? throw new ArgumentNullException(nameof(repositorioADSync)); }
private IEnumerable <ResultadoImportacaoDTO> ResetarSenha(IEnumerable <UsuarioDTO> paraIncluir, string dominio, string diretorio, string usuario, string senha, IConsultaOU ouDestino) { List <ResultadoImportacaoDTO> resultados = new List <ResultadoImportacaoDTO>(); Console.WriteLine($"Confirma a alteração de senha de {paraIncluir.Count()} confirma [Sim, Nao]?"); var confirmacao = Console.ReadLine(); if (confirmacao == "Sim") { Stopwatch crono = Stopwatch.StartNew(); int i = 0; string contextoLog = Guid.NewGuid().ToString(); foreach (var item in paraIncluir) { ResultadoImportacaoDTO resultado = new ResultadoImportacaoDTO() { Usuario = item }; try { var repositorio = new SME.SyncADxCoreSSO.ADSync.SMEADSync(dominio, diretorio, usuario, senha); resultado.Resultado = repositorio.ResetarSenhaParaPadrao(item, contextoLog) ? ResultadoImportacao.Sucesso : ResultadoImportacao.FalhaNaoIdentificada; } catch (Exception ex) { resultado.Resultado = ResultadoImportacao.Erro; resultado.MensagemErro = ex.ToString(); } resultados.Add(resultado); i++; if (i % 100 == 0) { Console.WriteLine($"Foram processados {i} itens - {crono.ElapsedMilliseconds / 1000} segundos"); crono.Restart(); } } } return(resultados); }
private IEnumerable <ResultadoImportacaoDTO> IncluirNoAD(IEnumerable <UsuarioDTO> paraIncluir, string dominio, string diretorio, string usuario, string senha, IConsultaOU ouDestino) { List <ResultadoImportacaoDTO> resultados = new List <ResultadoImportacaoDTO>(); Console.WriteLine($"Confirma a inserção de {paraIncluir.Count()} confirma [Sim, Nao]?"); var confirmacao = Console.ReadLine(); if (confirmacao == "Sim") { Stopwatch crono = Stopwatch.StartNew(); int i = 0; foreach (var item in paraIncluir) { ResultadoImportacaoDTO resultado = new ResultadoImportacaoDTO() { Usuario = item }; try { var ouUsuario = ouDestino.MontarOUUsuario(item.Login, item.OU); if (!string.IsNullOrWhiteSpace(ouUsuario)) { var repositorio = new SME.SyncADxCoreSSO.ADSync.SMEADSync(dominio, $"{ouUsuario},{diretorio}", usuario, senha); resultado.Resultado = repositorio.CriarUsuario(item) ? ResultadoImportacao.Sucesso : ResultadoImportacao.FalhaNaoIdentificada; } else { resultado.Resultado = ResultadoImportacao.NaoFoiPossivelIdentificarOU; } } catch (Exception ex) { resultado.Resultado = ResultadoImportacao.Erro; resultado.MensagemErro = ex.ToString(); } resultados.Add(resultado); i++; if (i % 100 == 0) { Console.WriteLine($"Foram processados {i} itens - {crono.ElapsedMilliseconds / 1000} segundos"); crono.Restart(); } } } return(resultados); }