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; }
/// <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); }
/// <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); }
/// <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); }