/// <summary> /// Método específico para o Sistema de Cadastro, que recebe os dados na estrutura do Sinacor e Salva o cliente no Cadastro /// </summary> /// <param name="pCliente">Entidade Cliente do Sinacor</param> public SalvarEntidadeResponse <SinacorClienteInfo> SinacorSalvarCliente(SalvarObjetoRequest <SinacorClienteInfo> pParametros) { LoginInfo lLogin; ClienteInfo lCliente; List <ClienteTelefoneInfo> lTelefone; List <ClienteEnderecoInfo> lEndereco; List <ClienteBancoInfo> lContaBancaria; List <ClienteContaInfo> lConta; List <ClienteDiretorInfo> lDiretor; List <ClienteEmitenteInfo> lEmitente; ClienteSituacaoFinanceiraPatrimonialInfo lSfp; try { SinacorClienteInfo pCliente = pParametros.Objeto; lCliente = ConversaoSinacor.ConverterCliente(pCliente.ChaveCliente, pCliente.ClienteGeral, pCliente.ClienteComplemento, pCliente.Cc, pCliente.Diretor); string lCpfCnpj = string.Empty; if (pParametros.Objeto.ChaveCliente.CD_CPFCGC.ToString().Length <= 11) { lCpfCnpj = pParametros.Objeto.ChaveCliente.CD_CPFCGC.ToString().PadLeft(11, '0'); } else { if (pParametros.Objeto.ChaveCliente.CD_CPFCGC.ToString().Length > 11) { lCpfCnpj = pParametros.Objeto.ChaveCliente.CD_CPFCGC.ToString().PadLeft(15, '0'); } } string lKey = string.Format("{0}-{1}", lCpfCnpj, pParametros.Objeto.ChaveCliente.DT_NASC_FUND.ToString("ddMMyyyy")); if (ObjetosCompartilhados.lHashClientes.Contains(lKey)) { SinacorMigracaoLoginInfo lSinacorMigracaoLoginInfo = (SinacorMigracaoLoginInfo)(ObjetosCompartilhados.lHashClientes[lKey]); lLogin = new LoginInfo(); lLogin.CdAssinaturaEletronica = lSinacorMigracaoLoginInfo.DsAssinatura; lLogin.CdSenha = lSinacorMigracaoLoginInfo.DsSenha; lLogin.DsEmail = lSinacorMigracaoLoginInfo.DsEmail; lLogin.DsRespostaFrase = string.Empty; lLogin.DtUltimaExpiracao = DateTime.Now; lLogin.IdFrase = null; lLogin.IdLogin = null; lLogin.NrTentativasErradas = 0; lLogin.TpAcesso = eTipoAcesso.Cliente; lLogin.CdAssessor = lSinacorMigracaoLoginInfo.IdAssessor; } else { lLogin = new LoginInfo(); string lSenhaMigracao = ConfigurationManager.AppSettings["SenhaMigracao"].ToString(); lLogin.CdAssinaturaEletronica = lSenhaMigracao; lLogin.CdSenha = lSenhaMigracao; lLogin.DsEmail = "[email protected]"; lLogin.DsRespostaFrase = string.Empty; lLogin.DtUltimaExpiracao = DateTime.Now; lLogin.IdFrase = null; lLogin.IdLogin = null; lLogin.NrTentativasErradas = 0; lLogin.TpAcesso = eTipoAcesso.Cliente; lLogin.CdAssessor = null; } lTelefone = ConversaoSinacor.ConverterTelefone(pCliente.Telefones); lEndereco = ConversaoSinacor.ConverterEndereco(pCliente.Enderecos); lContaBancaria = ConversaoSinacor.ConverterContaBancaria(pCliente.ContasBancarias); lConta = ConversaoSinacor.ConverterConta(pCliente.Bovespas, pCliente.Bmfs, pCliente.AtividadesCc, pCliente.AtividadesCustodia); lConta = this.SetContaPrincipal(pCliente.ChaveCliente, lConta); var AssessorContaPrincipal = (from cp in lConta where cp.StPrincipal == true select new { cp.CdAssessor }).ToList(); if (null == lCliente.IdAssessorInicial) { lCliente.IdAssessorInicial = AssessorContaPrincipal[0].CdAssessor; } lDiretor = ConversaoSinacor.ConverterDiretor(pCliente.Diretor); lEmitente = ConversaoSinacor.ConverterEmitente(pCliente.Emitentes); lSfp = ConversaoSinacor.ConverterSFP(pCliente.SituacaoFinaceiraPatrimoniais); SalvarEntidadeResponse <SinacorClienteInfo> lRetorno = new SalvarEntidadeResponse <SinacorClienteInfo>(); pCliente.Enderecos.ForEach(ende => { if (ende.IN_TIPO_ENDE.HasValue && ende.IN_TIPO_ENDE == 'C') { lCliente.DsEmailComercial = ende.DS_EMAIL_COMERCIAL; } }); lRetorno.Codigo = this.InserirCliente( pParametros.Objeto.StReimportacao, lLogin, lCliente, lTelefone, lEndereco, lContaBancaria, lConta, lDiretor, lEmitente, lSfp ); LogCadastro.Logar(pParametros.Objeto.ChaveCliente, pParametros.IdUsuarioLogado, pParametros.DescricaoUsuarioLogado, LogCadastro.eAcao.Importar); //Atualizar Ativação da informação referenta à CliGer e acesso ao HB Boolean stAtivoCliGer = pCliente.ClienteGeral.IN_SITUAC.Value == 'A' ? true : false; ReceberObjetoResponse <ClienteAtivarInativarInfo> RetornoClienteAtivar = new ReceberObjetoResponse <ClienteAtivarInativarInfo>(); ReceberEntidadeRequest <ClienteAtivarInativarInfo> EntradaClienteAtivar = new ReceberEntidadeRequest <ClienteAtivarInativarInfo>() { DescricaoUsuarioLogado = "Processo de Exportação" }; EntradaClienteAtivar.Objeto = new ClienteAtivarInativarInfo() { IdCliente = lRetorno.Codigo.Value }; EntradaClienteAtivar.DescricaoUsuarioLogado = "Processo de Importação"; RetornoClienteAtivar = ClienteDbLib.ReceberClienteAtivarInativar(EntradaClienteAtivar); SalvarEntidadeRequest <ClienteAtivarInativarInfo> EntradaSalvar = new SalvarEntidadeRequest <ClienteAtivarInativarInfo>(); EntradaSalvar.Objeto = RetornoClienteAtivar.Objeto; EntradaSalvar.Objeto.StClienteGeralAtivo = stAtivoCliGer; EntradaSalvar.Objeto.StHbAtivo = stAtivoCliGer; EntradaSalvar.DescricaoUsuarioLogado = "Processo de Importação"; SalvarEntidadeResponse <ClienteAtivarInativarInfo> RetornoSalvar = ClienteDbLib.SalvarClienteAtivarInativar(EntradaSalvar); return(lRetorno); } catch (Exception ex) { LogCadastro.Logar(pParametros.Objeto.ChaveCliente, pParametros.IdUsuarioLogado, pParametros.DescricaoUsuarioLogado, LogCadastro.eAcao.Importar, ex); throw ex; } }
/// <summary> /// Método responsável por Inserir Cliente com todos os dados /// </summary> /// <DataCriacao>14/05/2010</DataCriacao> /// <Autor>Gustavo Malta Guimarães</Autor> /// <Alteracao> /// <DataAlteracao></DataAlteracao> /// <Autor></Autor> /// <Motivo></Motivo> /// </Alteracao> /// <param name="pLogin">Login</param> /// <param name="pCliente">Cliente</param> /// <param name="pTelefone">Lista de Telefones</param> /// <param name="pEndereco">Lista de Endereços</param> /// <param name="pContaBancaria">Lista de Contas Bancárias</param> /// <param name="pConta">Lista de Contas</param> /// <param name="pDiretor">Lista de Diretores</param> /// <param name="pEmitente">Lista de Emitentes</param> /// <param name="pSfp">Situação Financeira Patrimonial</param> public int InserirCliente (Boolean pStReimportacao , LoginInfo pLogin , ClienteInfo pCliente , List <ClienteTelefoneInfo> pTelefone , List <ClienteEnderecoInfo> pEndereco , List <ClienteBancoInfo> pContaBancaria , List <ClienteContaInfo> pConta , List <ClienteDiretorInfo> pDiretor , List <ClienteEmitenteInfo> pEmitente , ClienteSituacaoFinanceiraPatrimonialInfo pSfp) { //Criar Transação DbConnection conn; DbTransaction trans; Conexao._ConnectionStringName = gNomeConexaoSql; conn = Conexao.CreateIConnection(); conn.Open(); trans = conn.BeginTransaction(); try { Nullable <int> lIdClienteAntigo = null; Nullable <int> lIdLoginAntigo = null; ClienteNaoOperaPorContaPropriaInfo lClienteOperaContaPropria = null; List <ClientePendenciaCadastralInfo> lPendenciasCad = null; List <ClienteContratoInfo> lContratosCliente = null; List <LogIntranetInfo> lLogsIntranet = null; LoginInfo lLoginReimportacao = null; ClienteAutorizacaoInfo lAutorizacao = null; if (pStReimportacao) { //-->> Consultar pendencias cadastrais do cliente. ClienteDbLib.SelecionaClientePorDataNacCpfCnpj(new RemoverEntidadeRequest <ClienteInfo>() { Objeto = pCliente }); lIdClienteAntigo = pCliente.IdCliente; lIdLoginAntigo = pLogin.IdLogin; //-->> Recupera as informações de contratos de clientes lContratosCliente = ClienteDbLib.ConsultarClienteContrato(pCliente.IdCliente.Value); //--> consulta pendencias cadastrais para posteriormente inserir novamente lPendenciasCad = ClienteDbLib.ListarClientePendenciaCadastral(pCliente.IdCliente.Value); //--> consulta para ver se o cliente opera por conta Própria lClienteOperaContaPropria = ClienteDbLib.ConsultarClienteNaoOperaPorContaPropria(pCliente.IdCliente.Value); if (lClienteOperaContaPropria.IdCliente == 0) { lClienteOperaContaPropria = null; } //-->> Recupera as informações de log na intranet para depois ser inseridas novamente com o id_login novo lLogsIntranet = ClienteDbLib.ConsultarLogsClientes(pCliente.IdLogin.Value); //-->> Recupera as informações de login do usuario reimportado lLoginReimportacao = ClienteDbLib.ReceberLogin(pCliente.DsCpfCnpj, pCliente.DtNascimentoFundacao.Value); //-->> Recupera as informações de autorizações do cliente, caso haja alguma lAutorizacao = ClienteDbLib.ReceberAutorizacoesCadastrais(pCliente.IdCliente.Value); //--> Verifica a necessidade de exclusão do cliente antes de iserrir ClienteDbLib.RemoverCliente(trans, new RemoverEntidadeRequest <ClienteInfo>() { Objeto = pCliente }); } //Inserir Login SalvarObjetoRequest <LoginInfo> lLogin = new SalvarObjetoRequest <LoginInfo>(); lLogin.Objeto = (pStReimportacao) ? lLoginReimportacao : pLogin; pLogin.IdLogin = ClienteDbLib.SalvarLogin(trans, lLogin, false).Codigo; //Colocar idLogin no cliente pCliente.IdLogin = pLogin.IdLogin.Value; //Inserir Cliente SalvarObjetoRequest <ClienteInfo> lCliente = new SalvarObjetoRequest <ClienteInfo>(); lCliente.Objeto = pCliente; if (lClienteOperaContaPropria != null) { lCliente.Objeto.DadosClienteNaoOperaPorContaPropria = lClienteOperaContaPropria; } else { lCliente.Objeto.DadosClienteNaoOperaPorContaPropria = null; //--> Este dado não existe no Sinacor, portanto não deve ser informado. } pCliente.IdCliente = ClienteDbLib.SalvarCliente(trans, lCliente, false, pStReimportacao).Codigo; //Faz o swap de cliente no suitability if (pStReimportacao && lIdClienteAntigo != null) { ClienteDbLib.SalvarImportacaoSuitability(lIdClienteAntigo.Value, pCliente.IdCliente.Value, trans); if (lPendenciasCad != null && lPendenciasCad.Count > 0) { lPendenciasCad.ForEach(pend => { ClientePendenciaCadastralInfo lPendencia = new ClientePendenciaCadastralInfo(); lPendencia = pend; lPendencia.IdCliente = pCliente.IdCliente; lPendencia.IdPendenciaCadastral = null; lPendencia.IdLoginRealizacao = null; ClienteDbLib.SalvarClientePendenciaCadastral(trans, lPendencia); }); } } //--> Verifica se o cliente preencheu o contrato de //--> legislação anteriormente e salva com o código novo do cliente if (lContratosCliente != null && lContratosCliente.Count > 0) { lContratosCliente.ForEach(contrato => { ClienteContratoInfo lContrato = new ClienteContratoInfo(); lContrato.IdCliente = pCliente.IdCliente; lContrato.IdContrato = contrato.IdContrato; lContrato.DtAssinatura = contrato.DtAssinatura; ClienteDbLib.SalvarImportacaoClienteContrato(trans, lContrato); }); } //--> Verifica se há logs na intranet do cliente para gravar novamente if (lLogsIntranet != null && lLogsIntranet.Count > 0) { lLogsIntranet.ForEach(log => { LogIntranetInfo lLog = new LogIntranetInfo(); lLog = log; lLog.IdLogin = pCliente.IdLogin.Value; lLog.DsObservacao += string.Concat(" ", lLog.IdLogin); ClienteDbLib.RegistrarLog(trans, lLog); }); } //--> Insere novamente a autorização, se houver if (lAutorizacao != null && lAutorizacao.StAutorizado != null) { lAutorizacao.IdCliente = pCliente.IdCliente.Value; ClienteDbLib.SalvarAutorizacaoCadastralImportacao(trans, lAutorizacao); } //colocar idCliente nas outras entidades //Inserir outras entidades SalvarObjetoRequest <ClienteTelefoneInfo> lTelefone; foreach (ClienteTelefoneInfo item in pTelefone) { item.IdCliente = pCliente.IdCliente.Value; lTelefone = new SalvarObjetoRequest <ClienteTelefoneInfo>(); lTelefone.Objeto = item; ClienteDbLib.SalvarClienteTelefone(trans, lTelefone); } SalvarObjetoRequest <ClienteEnderecoInfo> lEndereco; foreach (ClienteEnderecoInfo item in pEndereco) { item.IdCliente = pCliente.IdCliente.Value; lEndereco = new SalvarObjetoRequest <ClienteEnderecoInfo>(); lEndereco.Objeto = item; ClienteDbLib.SalvarClienteEndereco(trans, lEndereco); } SalvarObjetoRequest <ClienteBancoInfo> lBanco; foreach (ClienteBancoInfo item in pContaBancaria) { item.IdCliente = pCliente.IdCliente.Value; lBanco = new SalvarObjetoRequest <ClienteBancoInfo>(); lBanco.Objeto = item; ClienteDbLib.SalvarClienteBanco(trans, lBanco); } SalvarObjetoRequest <ClienteContaInfo> lConta; foreach (ClienteContaInfo item in pConta) { item.IdCliente = pCliente.IdCliente.Value; lConta = new SalvarObjetoRequest <ClienteContaInfo>(); lConta.Objeto = item; ClienteDbLib.SalvarClienteConta(trans, lConta); } SalvarObjetoRequest <ClienteDiretorInfo> lDiretor; foreach (ClienteDiretorInfo item in pDiretor) { item.IdCliente = pCliente.IdCliente.Value; lDiretor = new SalvarObjetoRequest <ClienteDiretorInfo>(); lDiretor.Objeto = item; ClienteDbLib.SalvarClienteDiretor(trans, lDiretor); } SalvarObjetoRequest <ClienteEmitenteInfo> lEmitente; foreach (ClienteEmitenteInfo item in pEmitente) { item.IdCliente = pCliente.IdCliente.Value; lEmitente = new SalvarObjetoRequest <ClienteEmitenteInfo>(); lEmitente.Objeto = item; ClienteDbLib.SalvarClienteEmitente(trans, lEmitente); } pSfp.IdCliente = pCliente.IdCliente.Value; SalvarObjetoRequest <ClienteSituacaoFinanceiraPatrimonialInfo> lSfp = new SalvarObjetoRequest <ClienteSituacaoFinanceiraPatrimonialInfo>(); lSfp.Objeto = pSfp; ClienteDbLib.SalvarClienteSituacaoFinanceiraPatrimonial(trans, lSfp); ConexaoDbHelper lAcessaDados = new ConexaoDbHelper(); lAcessaDados.ConnectionStringName = gNomeConexaoControleAcesso; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_UsuariosPermissoes_ins")) { lAcessaDados.AddInParameter(lDbCommand, "@CodigoItem", DbType.Int32, pLogin.IdLogin.Value); lAcessaDados.AddInParameter(lDbCommand, "@Status", DbType.Int32, 0); lAcessaDados.AddInParameter(lDbCommand, "@CodigoPermissao", DbType.String, "22FF518C-C7D3-4ff0-A0CB-96F2476068BB"); lAcessaDados.ExecuteNonQuery(lDbCommand); } lAcessaDados = new ConexaoDbHelper(); lAcessaDados.ConnectionStringName = gNomeConexaoRisco; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_ins_permissoes_default_cliente")) { lAcessaDados.AddInParameter(lDbCommand, "@id_cliente", DbType.Int32, gContaPrincipal); lAcessaDados.ExecuteNonQuery(lDbCommand); } trans.Commit(); return(pCliente.IdCliente.Value); } catch (Exception ex) { trans.Rollback(); throw ex; } finally { trans.Dispose(); trans = null; if (!ConnectionState.Closed.Equals(conn.State)) { conn.Close(); } conn.Dispose(); conn = null; } }
/// <summary> /// Método de apoio para receber ficha de pessoa física /// </summary> /// <param name="pParametros"></param> /// <returns></returns> private static ReceberObjetoResponse <FichaCadastralInfo> ReceberFichaEntidade(ReceberEntidadeRequest <ViewFichaCadastralCompletaInfo> pParametros) { try { var lResposta = new ReceberObjetoResponse <FichaCadastralInfo>(); var lRespostaFinal = new ReceberObjetoResponse <ViewFichaCadastralCompletaInfo>(); var lClienteInfo = new ReceberEntidadeRequest <ClienteInfo>(); var lClienteBancoInfo = new ConsultarEntidadeRequest <ClienteBancoInfo>(); var lClienteContaInfo = new ConsultarEntidadeRequest <ClienteContaInfo>(); var lClienteEnderecoInfo = new ConsultarEntidadeRequest <ClienteEnderecoInfo>(); var lClienteProcuradorRepresentanteInfo = new ConsultarEntidadeRequest <ClienteProcuradorRepresentanteInfo>(); var lClienteSituacaoFinanceiraPatrimonialInfo = new ConsultarEntidadeRequest <ClienteSituacaoFinanceiraPatrimonialInfo>(); var lClienteLoginInfo = new ReceberEntidadeRequest <LoginInfo>(); var lClienteTelefoneInfo = new ConsultarEntidadeRequest <ClienteTelefoneInfo>(); var lClienteEmitenteInfo = new ConsultarEntidadeRequest <ClienteEmitenteInfo>(); var lContratoInfo = new ConsultarEntidadeRequest <ClienteContratoInfo>(); var lClienteInvestidorNaoResisdenteInfo = new ConsultarEntidadeRequest <ClienteInvestidorNaoResidenteInfo>(); var lClienteControladoraInfo = new ConsultarEntidadeRequest <ClienteControladoraInfo>(); var lClienteDiretorInfo = new ConsultarEntidadeRequest <ClienteDiretorInfo>(); var lClienteNaoOperaPorContaPropriaInfo = new ReceberEntidadeRequest <ClienteNaoOperaPorContaPropriaInfo>(); lClienteInfo.Objeto = new ClienteInfo(); lClienteBancoInfo.Objeto = new ClienteBancoInfo(); lClienteContaInfo.Objeto = new ClienteContaInfo(); lClienteEnderecoInfo.Objeto = new ClienteEnderecoInfo(); lClienteProcuradorRepresentanteInfo.Objeto = new ClienteProcuradorRepresentanteInfo(); lClienteSituacaoFinanceiraPatrimonialInfo.Objeto = new ClienteSituacaoFinanceiraPatrimonialInfo(); lClienteLoginInfo.Objeto = new LoginInfo(); lClienteTelefoneInfo.Objeto = new ClienteTelefoneInfo(); lClienteEmitenteInfo.Objeto = new ClienteEmitenteInfo(); lContratoInfo.Objeto = new ClienteContratoInfo(); lClienteInvestidorNaoResisdenteInfo.Objeto = new ClienteInvestidorNaoResidenteInfo(); lClienteControladoraInfo.Objeto = new ClienteControladoraInfo(); lClienteDiretorInfo.Objeto = new ClienteDiretorInfo(); lClienteNaoOperaPorContaPropriaInfo.Objeto = new ClienteNaoOperaPorContaPropriaInfo(); { //--> Atribuindo parâmetro de busca às consultas. lClienteInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteBancoInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteContaInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteEnderecoInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteProcuradorRepresentanteInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteSituacaoFinanceiraPatrimonialInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteTelefoneInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteEmitenteInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lContratoInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteInvestidorNaoResisdenteInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteControladoraInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteDiretorInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; lClienteNaoOperaPorContaPropriaInfo.Objeto.IdCliente = pParametros.Objeto.IdDoCliente; } lResposta.Objeto = new FichaCadastralInfo(); lResposta.Objeto.ClienteResponse = ClienteDbLib.ReceberCliente(lClienteInfo); lResposta.Objeto.ClienteBancoResponse = ClienteDbLib.ConsultarClienteBanco(lClienteBancoInfo); lResposta.Objeto.ClienteContaResponse = ClienteDbLib.ConsultarClienteConta(lClienteContaInfo); lResposta.Objeto.ClienteEnderecoResponse = ClienteDbLib.ConsultarClienteEndereco(lClienteEnderecoInfo); lResposta.Objeto.ClienteProcuradorRepresentanteResponse = ClienteDbLib.ConsultarClienteProcuradorRepresentante(lClienteProcuradorRepresentanteInfo); lResposta.Objeto.ClienteSituacaoFinanceiraPatrimonialResponse = ClienteDbLib.ConsultarClienteSituacaoFinanceiraPatrimonial(lClienteSituacaoFinanceiraPatrimonialInfo); lResposta.Objeto.ClienteTelefoneReponse = ClienteDbLib.ConsultarClienteTelefone(lClienteTelefoneInfo); lResposta.Objeto.ClienteEmitenteResponse = ClienteDbLib.ConsultarClienteEmitente(lClienteEmitenteInfo); lResposta.Objeto.ClienteContratoResponse = ClienteDbLib.ConsultarClienteContrato(lContratoInfo); lResposta.Objeto.ClienteIvestidorNaoResidenteResponse = ClienteDbLib.ConsultarClienteNaoResidente(lClienteInvestidorNaoResisdenteInfo); lResposta.Objeto.ClienteControladoraResponse = ClienteDbLib.ConsultarClienteControladora(lClienteControladoraInfo); lResposta.Objeto.ClienteDiretorResponse = ClienteDbLib.ConsultarClienteDiretor(lClienteDiretorInfo); lResposta.Objeto.ClienteNaoOperaPorContaPropriaResponse = ClienteDbLib.ConsultarClienteNaoOperaPorContaPropria(lClienteNaoOperaPorContaPropriaInfo); //dados de login lClienteLoginInfo.Objeto.IdLogin = lResposta.Objeto.ClienteResponse.Objeto.IdLogin; lResposta.Objeto.ClienteLoginResponse = ClienteDbLib.ReceberLogin(lClienteLoginInfo); return(lResposta); } catch (Exception ex) { LogCadastro.Logar(pParametros.Objeto, pParametros.IdUsuarioLogado, pParametros.DescricaoUsuarioLogado, LogCadastro.eAcao.Receber, ex); throw ex; } }