/// <summary> /// Recebe o valor do auto incremento e coloca na propriedade. /// </summary> /// <param name="qs">Objeto da Store Procedure.</param> /// <param name="entity">Entidade com os dados para preenchimento dos parametros.</param> /// <returns>TRUE - Se entity.ParametroId > 0</returns> protected override bool ReceberAutoIncremento(QuerySelectStoredProcedure qs, LOG_UsuarioADErro entity) { return(true); }
/// <summary> /// Processa os hist�ricos de altera��o de senha e realiza a sincroniza��o entre o Autenticador e AD. /// </summary> /// <param name="ltLogUsuarioAD">Lista de hist�rico de altera��o de senha.</param> /// <returns></returns> public static bool ProcessaLogUsuarioAD(List <sLOG_UsuarioAD> ltLogUsuarioAD) { try { string dominio = CFG_ConfiguracaoBO.SelecionaValorPorChave("AppDominioAD"); string organizationalUnitPath = CFG_ConfiguracaoBO.SelecionaValorPorChave("AppOrganizationalUnitPath"); string descricao = CFG_ConfiguracaoBO.SelecionaValorPorChave("AppUserDescriptionAD"); LdapUsers userAD = new LdapUsers(LdapUtil.CheckPath(dominio)); foreach (sLOG_UsuarioAD log in ltLogUsuarioAD) { try { bool processou = false; if (log.usuarioAD.usa_origemAcao == (short)LOG_UsuarioAD.eOrigem.Autenticador) { processou = SincronizaSenhaAlteradaAutenticador(userAD, dominio, organizationalUnitPath, log, descricao); } else { processou = SincronizaSenhaAlteradaAD(log); } if (processou) { LOG_UsuarioAD usuarioAD = log.usuarioAD; usuarioAD.usa_status = (short)LOG_UsuarioAD.eStatus.Processado; usuarioAD.usa_dataProcessado = DateTime.Now; LOG_UsuarioADBO.Save(usuarioAD); } else { LOG_UsuarioAD usuarioAD = log.usuarioAD; usuarioAD.usa_status = (short)LOG_UsuarioAD.eStatus.Falha; usuarioAD.usa_dataProcessado = DateTime.Now; LOG_UsuarioADBO.Save(usuarioAD); LOG_UsuarioADErro erro = new LOG_UsuarioADErro { usa_id = log.usuarioAD.usa_id , use_descricaoErro = "O log de altera��o de senha n�o foi processado." }; LOG_UsuarioADErroBO.Save(erro); } } catch (Exception ex) { LOG_UsuarioAD usuarioAD = log.usuarioAD; usuarioAD.usa_status = (byte)LOG_UsuarioAD.eStatus.Falha; usuarioAD.usa_dataProcessado = DateTime.Now; LOG_UsuarioADBO.Save(usuarioAD); LOG_UsuarioADErro erro = new LOG_UsuarioADErro { usa_id = log.usuarioAD.usa_id , use_descricaoErro = ex.Message }; LOG_UsuarioADErroBO.Save(erro); UtilBO.GravarErro(ex); } } return(true); } catch (Exception ex) { ltLogUsuarioAD.ForEach(p => { LOG_UsuarioAD entityUsuarioAD = p.usuarioAD; entityUsuarioAD.usa_status = (short)LOG_UsuarioAD.eStatus.Pendente; LOG_UsuarioADBO.Save(entityUsuarioAD); }); throw ex; } }