Пример #1
0
 public TransporteRelatorio_015(ClienteProdutoInfo pInfo)
 {
     this.DataAdesao    = (pInfo.DtAdesao.HasValue && pInfo.DtAdesao.Value.ToString("dd/MM/yyyy") != "01/01/0001") ? pInfo.DtAdesao.Value.ToString("dd/MM/yyyy") : " - ";
     this.DataFimAdesao = (pInfo.DtFimAdesao.HasValue && pInfo.DtFimAdesao.Value.ToString("dd/MM/yyyy") != "01/01/0001") ? pInfo.DtFimAdesao.Value.ToString("dd/MM/yyyy") : " - ";
     this.DataCobranca  = (pInfo.DtUltima_cobranca.HasValue && pInfo.DtUltima_cobranca.Value.ToString("dd/MM/yyyy") != "01/01/0001") ? pInfo.DtUltima_cobranca.Value.ToString("dd/MM/yyyy") : " - ";
     this.ValorCobranca = pInfo.VlCobrado.ToString("N");
     this.Produto       = pInfo.NomeProduto;
     this.StatusPlano   = pInfo.StSituacao.ToString();
     this.CodAssessor   = pInfo.CdAssessor.DBToString();
     this.CodBolsa      = pInfo.CdCblc.DBToString();
     this.NomeCliente   = pInfo.NomeCliente.ToStringFormatoNome();
     this.CpfCnpj       = pInfo.DsCpfCnpj.ToCpfCnpjString();
     this.Produto       = pInfo.NomeProduto.DBToString();
     this.Origem        = pInfo.Origem;
     this.UsuarioLogado = pInfo.UsuarioLogado;
 }
Пример #2
0
        /// <summary>
        /// Adesao do cliente a uma Carteira Recomendada (associada ao produto informado)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public AdesaoClienteResponse SolicitarAdesaoCliente(AdesaoClienteRequest request)
        {
            AdesaoClienteResponse           response = null;
            PersistenciaCarteiraRecomendada persistenciaCarteiraRecomendada = new PersistenciaCarteiraRecomendada();

            try
            {
                logger.Info("Preparando solicitação de adesão de cliente a carteira recomendada");
                logger.Info("Código do Cliente: " + request.IdCliente.ToString());
                logger.Info("Código do Produto: " + request.IdProduto.ToString());
                logger.Info("Tipo de solicitação: Inclusão");

                logger.Info("Avaliando Risco do Cliente");
                response = CalcularRiscoCliente(request);
                if (response.bSucesso == false)
                {
                    return(response);
                }

                logger.Info("Preenchendo a classe ClienteProdutoInfo");
                ClienteProdutoInfo clienteProdutoInfo = new ClienteProdutoInfo();
                clienteProdutoInfo.IdCliente = request.IdCliente;
                clienteProdutoInfo.IdProduto = request.IdProduto;
                clienteProdutoInfo.StAtivo   = 'S';
                clienteProdutoInfo.IP        = request.IP;
                clienteProdutoInfo.Descricao = "Cliente[" + request.IdCliente.ToString() + "] aderiu ao Produto[" + request.IdProduto.ToString() + "]";

                logger.Info("Chamando o método AdesaoCliente() para efetuar a transacao no banco de dados");
                bool bTransacao = true; // persistenciaCarteiraRecomendada.AdesaoCliente(clienteProdutoInfo);
                logger.Info("Transacao efetuada com sucesso");

                response.DataResposta      = DateTime.Now;
                response.bSucesso          = bTransacao;
                response.CriticaResposta   = StatusRespostaEnum.Sucesso;
                response.DescricaoResposta = SUCESSO;
            }
            catch (Exception ex)
            {
                response.DataResposta      = DateTime.Now;
                response.CriticaResposta   = StatusRespostaEnum.ErroPrograma;
                response.DescricaoResposta = ERROPROGRAMA;
                response.Exception         = ex;
            }

            logger.Info("Retorna resposta");
            return(response);
        }
Пример #3
0
        /// <summary>
        /// Cancelamento de carteira recomendada
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public CancelarResponse SolicitarCancelamento(CancelarRequest request)
        {
            CancelarResponse response = new CancelarResponse();
            PersistenciaCarteiraRecomendada persistenciaCarteiraRecomendada = new PersistenciaCarteiraRecomendada();

            try
            {
                logger.Info("Preparando solicitação de cancelamento de cliente de carteira recomendada");
                logger.Info("Código do cliente: " + request.IdCliente.ToString());
                logger.Info("Código do produto: " + request.IdProduto.ToString());
                logger.Info("Tipo de solicitação: Cancelamento");

                logger.Info("Preenchendo a classe ClienteProdutoInfo");

                ClienteProdutoInfo clienteProdutoInfo = new ClienteProdutoInfo();

                clienteProdutoInfo.IdCliente = request.IdCliente;
                clienteProdutoInfo.IdProduto = request.IdProduto;
                clienteProdutoInfo.StAtivo   = 'N';
                clienteProdutoInfo.IP        = request.IP;
                clienteProdutoInfo.Descricao = "Cliente[" + request.IdCliente.ToString() + "] teve cancelado adesão ao Produto[" + request.IdProduto.ToString() + "]";

                logger.Info("Chamando o método Cancelamento() para efetuar a transacao no banco de dados");
                bool bTransacao = persistenciaCarteiraRecomendada.Cancelamento(clienteProdutoInfo);
                logger.Info("Transacao efetuada com sucesso");

                response.DataResposta      = DateTime.Now;
                response.bSucesso          = bTransacao;
                response.CriticaResposta   = StatusRespostaEnum.Sucesso;
                response.DescricaoResposta = SUCESSO;
            }
            catch (Exception ex)
            {
                response.DataResposta      = DateTime.Now;
                response.CriticaResposta   = StatusRespostaEnum.ErroPrograma;
                response.DescricaoResposta = ERROPROGRAMA;
                response.Exception         = ex;
            }

            logger.Info("Retorna resposta");
            return(response);
        }
Пример #4
0
        /// <summary>
        /// Consultar planos de cliente com filtro de relatório
        /// </summary>
        /// <param name="pRequest">Objeto do tipo ListarProdutosClienteRequest</param>
        /// <returns>Retorna uma lsita com filro efetuado por request</returns>
        public static ConsultarObjetosResponse <ClienteProdutoInfo> ConsultarPlanoClientesFiltrado(ConsultarEntidadeRequest <ClienteProdutoInfo> pRequest)
        {
            ConsultarObjetosResponse <ClienteProdutoInfo> lRetorno = new ConsultarObjetosResponse <ClienteProdutoInfo>();

            ConexaoDbHelper acesso = new ConexaoDbHelper();

            acesso.ConnectionStringName = _ConnectionStringName;

            lRetorno.Resultado = new List <ClienteProdutoInfo>();

            using (DbCommand cmd = acesso.CreateCommand(CommandType.StoredProcedure, "PRC_SELECIONAR_CLIENTES_PLANOIR"))
            {
                acesso.AddInParameter(cmd, "@CD_ASSESSOR", DbType.Int32, pRequest.Objeto.CodigoAssessor);

                /*
                 *
                 * Atenção: Esse input via string não estava funcionando junto com a query da procedure; as datas estavam sendo invertidas pelo servidor.
                 *
                 * Aparentemente, esse valor "00010101" seria pra indicar um valor SEM filtro por data, porém preciso trocar pra DateTime e
                 * se fosse usar algum valor pra indicar não-filtro, deveria ser Nulable<Datetime>.
                 *
                 * Como passar isso aqui sem filtro de data vai retornar registros demais, vou trocar pra Date mesmo e se algum "cliente" dessa função
                 * realmente precisar de não-filtro por data, basta usar um valor inicial muito pra trás e final muito pra frente
                 *
                 *   - Luciano, 01/03/13
                 *
                 * if (pRequest.Objeto.De.ToString("yyyyMMdd") != "00010101")
                 *  acesso.AddInParameter(cmd, "@DT_INICIAL"    , DbType.String, pRequest.Objeto.De.ToString("yyyyMMdd")   );
                 *
                 * if (pRequest.Objeto.Ate.ToString("yyyyMMdd") != "00010101")
                 *  acesso.AddInParameter(cmd, "@DT_FIM"        , DbType.String, pRequest.Objeto.Ate.ToString("yyyyMMdd")  );
                 */

                acesso.AddInParameter(cmd, "@DT_INICIAL", DbType.Date, pRequest.Objeto.De);
                acesso.AddInParameter(cmd, "@DT_FIM", DbType.Date, pRequest.Objeto.Ate);

                if (pRequest.Objeto.CdCblc > 0)
                {
                    acesso.AddInParameter(cmd, "@CD_CBLC", DbType.Int32, pRequest.Objeto.CdCblc);
                }

                if (pRequest.Objeto.IdProdutoPlano > 0)
                {
                    acesso.AddInParameter(cmd, "@ID_PRODUTO", DbType.Int32, pRequest.Objeto.IdProdutoPlano);
                }

                DataTable table = acesso.ExecuteDbDataTable(cmd);

                foreach (DataRow dr in table.Rows)
                {
                    lRetorno.Resultado.Add(CriarRegistroFiltrarPlanoClientesInfo(dr));
                }
            }

            if (!pRequest.Objeto.IdProdutoPlano.HasValue || pRequest.Objeto.IdProdutoPlano == 13) //--> Código do produto de Fundos de Investimentos
            {
                ConexaoDbHelper lAcessaDados = new ConexaoDbHelper();

                lAcessaDados.ConnectionStringName = _NomeConexaoFundos;

                using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_fundo_termo_relatorio_sel"))
                {
                    lAcessaDados.AddInParameter(lDbCommand, "@CodigoCliente", DbType.Int32, pRequest.Objeto.CdCblc);
                    lAcessaDados.AddInParameter(lDbCommand, "@dtInicial", DbType.Date, pRequest.Objeto.De);
                    lAcessaDados.AddInParameter(lDbCommand, "@dtFinal", DbType.Date, pRequest.Objeto.Ate);

                    DataTable lDataTable = lAcessaDados.ExecuteDbDataTable(lDbCommand);

                    if (null != lDataTable && lDataTable.Rows.Count > 0)
                    {
                        var lFundo = new ClienteProdutoInfo();

                        for (int i = 0; i <= lDataTable.Rows.Count - 1; i++)
                        {
                            lFundo = new ClienteProdutoInfo();

                            lFundo.CdCblc              = lDataTable.Rows[i]["idCliente"].DBToInt32();
                            lFundo.NomeProduto         = lDataTable.Rows[i]["NomeFundo"].ToString();
                            lFundo.NomeCliente         = lDataTable.Rows[i]["Ds_nome"].DBToString();
                            lFundo.DsCpfCnpj           = lDataTable.Rows[i]["ds_cpfcnpj"].DBToString();
                            lFundo.DtAdesao            = lDataTable.Rows[i]["DataAdesao"].DBToDateTime();
                            lFundo.VlCobrado           = 0.0M;
                            lFundo.Origem              = lDataTable.Rows[i]["Origem"].DBToString();
                            lFundo.UsuarioLogado       = lDataTable.Rows[i]["UsuarioLogado"].DBToString();
                            lFundo.CodigoUsuarioLogado = lDataTable.Rows[i]["CodigoUsuarioLogado"].DBToInt32();

                            lRetorno.Resultado.Add(lFundo);
                        }
                    }
                }
            }

            return(lRetorno);
        }