Beispiel #1
0
        /// <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;
            }
        }
Beispiel #2
0
        /// <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;
            }
        }
Beispiel #3
0
        /// <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;
            }
        }