コード例 #1
0
        /// <summary>
        /// Método que gera a listagem de registros de siglas de produtos enquadrados de acordo com o perfil
        /// para a geração do arquivo fora perfil
        /// </summary>
        public void GeraListaExecutaBatchSuitability()
        {
            var lSb = new StringBuilder();

            string lCliente = string.Empty;

            try
            {
                var lRequest = new ClienteSuitabilityEfetuadoInfo();

                lRequest.DtDe = new DateTime(2008, 1, 1);

                lRequest.DtAte = DateTime.Now;

                List <SuitabilityClienteProduto> lListaPerfil = ObterProdutoPerfilSuitability();

                List <ClienteSuitabilityEfetuadoInfo> lListaSuitability = ObterClientesSuitability(lRequest);

                lListaSuitability.ForEach(lista =>
                {
                    if (lista.DsPerfil.ToLower() != "arrojado" && lista.DsPerfil.ToLower() != "agressivo")
                    {
                        List <SuitabilityClienteProduto> lSiglas = lListaPerfil.FindAll(siglas =>
                        {
                            return(siglas.TipoPerfil.ToLower() == lista.DsPerfil.ToLower());

                            /*
                             * Acessado                         - Conservador
                             * CadastroNaoFinalizado            - Conservador
                             * MedioRiscoComRendaVariavel       - Moderado
                             * MEDIO RISCO COM RENDA VARIAVEL   - Moderado
                             * MedioRiscoSemRendaVariavel       - Moderado
                             * NaoResponderAgora                - Conservador
                             * BaixoRisco                       - Conservador
                             * MedioRiscoSemRendaVariavel       - Moderado
                             */
                        });

                        lCliente = "   " + lista.CodigoBovespa.ToString().PadLeft(5, ' ');

                        lSiglas.ForEach(sigla =>
                        {
                            lCliente += sigla.Produto + "     ";
                        });

                        lCliente = lCliente.Remove(lCliente.LastIndexOf("     "), 5);

                        lSb.Append(lCliente + "\n");

                        lCliente = string.Empty;
                    }
                });

                this.GerarArquivo(lSb);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #2
0
        /// <summary>
        /// Método que busca no sql uma listagem de clientes com suitability efetuados ou não em um range de datas
        /// Procedure: rel_cliente_suitability_efetuados_lst_sp
        /// </summary>
        /// <param name="pRequest">Objeto de request de suitability efetuado ou não, range de data De até, e se está realizado ou não</param>
        /// <returns></returns>
        private List <ClienteSuitabilityEfetuadoInfo> ObterClientesSuitability(ClienteSuitabilityEfetuadoInfo pRequest)
        {
            var lRetorno     = new List <ClienteSuitabilityEfetuadoInfo>();
            var lAcessaDados = new AcessaDados();

            lAcessaDados.ConnectionStringName = gNomeConexaoCadastro;
            try
            {
                using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "rel_cliente_suitability_efetuados_lst_sp"))
                {
                    lAcessaDados.AddInParameter(lDbCommand, "@DtDe", DbType.DateTime, pRequest.DtDe);
                    lAcessaDados.AddInParameter(lDbCommand, "@DtAte", DbType.DateTime, pRequest.DtAte);
                    lAcessaDados.AddInParameter(lDbCommand, "@StRealizado", DbType.Int32, 1);

                    var lDataTable = lAcessaDados.ExecuteDbDataTable(lDbCommand);

                    if (lDataTable != null && lDataTable.Rows.Count > 0)
                    {
                        for (int i = 0; i < lDataTable.Rows.Count; i++)
                        {
                            DataRow lRow = lDataTable.Rows[i];

                            if (lRow["cd_codigo"].ToString() != "")
                            {
                                lRetorno.Add(new ClienteSuitabilityEfetuadoInfo()
                                {
                                    CodigoAssessor   = lRow["cd_assessor"].ToString() == "" ? 0 : int.Parse(lRow["cd_assessor"].ToString()),
                                    CodigoBovespa    = int.Parse(lRow["cd_codigo"].ToString()),
                                    DsCpfCnpj        = lRow["ds_cpfcnpj"].ToString(),
                                    DsFonte          = lRow["ds_fonte"].ToString(),
                                    DsLoginRealizado = lRow["ds_loginrealizado"].ToString(),
                                    DsNomeCliente    = lRow["ds_nome"].ToString(),
                                    DsPerfil         = lRow["ds_perfil"].ToString().ToLower() == "baixo risco" ? "Conservador" : lRow["ds_perfil"].ToString(),
                                    //lRow["ds_perfil"].ToString(),
                                    DsStatus                = lRow["ds_status"].ToString(),
                                    DtRealizacao            = GetDateTimeNulable(lRow["dt_realizacao"]),
                                    IdCliente               = int.Parse(lRow["id_cliente"].ToString()),
                                    StPreenchidoPeloCliente = GetBoolNulable(lRow["st_preenchidopelocliente"]),
                                });
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(lRetorno);
        }
コード例 #3
0
 public TransporteRelatorio_006(ClienteSuitabilityEfetuadoInfo pInfo, string pPrefixoRaiz)
 {
     this.Id            = pInfo.IdCliente.Value;
     this.Nome          = pInfo.DsNomeCliente;
     this.CpfCnpj       = pInfo.DsCpfCnpj;
     this.CodigoBovespa = pInfo.CodigoBovespa.ToString();
     this.Assessor      = pInfo.CodigoAssessor.ToString();
     this.UltimaAlteracaoSuitability = pInfo.DtRealizacao == DateTime.MinValue?"":pInfo.DtRealizacao.ToString("dd/MM/yyyy HH:mm:ss");
     this.ResultadoDaAnalise         = pInfo.DsPerfil;
     this.Local = pInfo.DsFonte;
     this.RealizadoPeloCliente = GetPreenchidoCliente(pInfo.StPreenchidoPeloCliente);
     this.RealizadoPor         = pInfo.DsLoginRealizado;
     this.Status             = pInfo.DsStatus;
     this.ArquivoCiencia     = pInfo.DsArquivoCiencia.Replace("~", "");
     this.ArquivoCienciaData = pInfo.DtArquivoCiencia;
     this.PrefixoRaiz        = pPrefixoRaiz;
     this.Respostas          = pInfo.DsRespostas.ToString();
     this.Peso = pInfo.Peso.ToString();
 }
コード例 #4
0
ファイル: R006.aspx.cs プロジェクト: radtek/Gradual
        private void ResponderBuscarItensParaListagemSimples()
        {
            var lRequest = new ConsultarEntidadeCadastroRequest <ClienteSuitabilityEfetuadoInfo>()
            {
                IdUsuarioLogado = base.UsuarioLogado.Id, DescricaoUsuarioLogado = base.UsuarioLogado.Nome
            };
            var lResponse = new ConsultarEntidadeCadastroResponse <ClienteSuitabilityEfetuadoInfo>();

            string lPrefixo = this.PrefixoDaRaiz;

            try
            {
                var lInfo = new ClienteSuitabilityEfetuadoInfo()
                {
                    IdCliente      = this.GetCodCliente,
                    DtDe           = this.GetDataInicial,
                    DtAte          = this.GetDataFinal.Value.AddDays(1D),
                    DsCpfCnpj      = this.GetCpfCnpj,
                    CodigoAssessor = this.GetIdAssessor,
                    StRealizado    = this.GetRealizado,
                    TipoPessoa     = this.GetTipoPessoa
                };

                lRequest.EntidadeCadastro = lInfo;

                lResponse = this.ServicoPersistenciaCadastro.ConsultarEntidadeCadastro <ClienteSuitabilityEfetuadoInfo>(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    if (lResponse.Resultado.Count > 0)
                    {
                        IEnumerable <TransporteRelatorio_006> lLista = from ClienteSuitabilityEfetuadoInfo i in lResponse.Resultado select new TransporteRelatorio_006(i, lPrefixo);

                        if (lLista.Count() >= gTamanhoDaParte)
                        {
                            this.ListaDeResultados = lLista;

                            this.rptRelatorio.DataSource = BuscarParte(1);

                            rowLinhaCarregandoMais.Visible = true;
                        }
                        else
                        {
                            this.rptRelatorio.DataSource = lLista;
                        }

                        this.rptRelatorio.DataBind();

                        rowLinhaDeNenhumItem.Visible = false;
                    }
                    else
                    {
                        rowLinhaDeNenhumItem.Visible = true;
                    }
                }
            }
            catch (Exception exBusca)
            {
                throw exBusca;
            }
        }