예제 #1
0
        public static List <ClienteResumidoInfo> ReceberListaClientesDoAssessor(int CodigoAssessor, Nullable <int> CodigoLogin)
        {
            var lRetorno     = new List <ClienteResumidoInfo>();
            var lAcessaDados = new ConexaoDbHelper();

            lAcessaDados.ConnectionStringName = gNomeConexaoCadastro;

            using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "ListarClientesDadosBasicosAssessoresVinculados_lst_sp"))
            {
                lAcessaDados.AddInParameter(lDbCommand, "id_assessor", DbType.Int32, CodigoAssessor);
                lAcessaDados.AddInParameter(lDbCommand, "cd_login", DbType.Int32, CodigoLogin);

                var lDataTable = lAcessaDados.ExecuteDbDataTable(lDbCommand);

                if (null != lDataTable && lDataTable.Rows.Count > 0)
                {
                    foreach (DataRow lLinha in lDataTable.Rows)
                    {
                        var lCliente = new ClienteResumidoInfo();

                        lCliente.CodBovespa  = lLinha["cd_codigo"].ToString();
                        lCliente.NomeCliente = lLinha["ds_nome"].ToString();
                        lCliente.CPF         = lLinha["ds_cpfcnpj"].ToString();
                        lCliente.CodAssessor = lLinha["cd_assessor"].DBToInt32();
                        lCliente.Email       = lLinha["ds_email"].ToString();

                        lRetorno.Add(lCliente);
                    }
                }
            }

            return(lRetorno);
        }
예제 #2
0
        private ClienteResumidoInfo VerificaContaInvestimento(ClienteResumidoInfo pClienteResumido)
        {
            ClienteResumidoInfo lRetorno = pClienteResumido;

            if (pClienteResumido.Passo == "4")
            {
                try
                {
                    var lContas = this.ServicoPersistenciaCadastro.ConsultarEntidadeCadastro <ClienteContaInfo>(new ConsultarEntidadeCadastroRequest <ClienteContaInfo>()
                    {
                        IdUsuarioLogado        = base.UsuarioLogado.Id,
                        DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                        EntidadeCadastro       = new ClienteContaInfo()
                        {
                            IdCliente = pClienteResumido.IdCliente
                        }
                    });

                    lRetorno.VerificarTiposDeContas(lContas.Resultado);

                    /*
                     * foreach (ClienteContaInfo item in lContas.Resultado)
                     * {
                     *  if (!string.IsNullOrWhiteSpace(pClienteResumido.CodBovespa))
                     *  {
                     *      if (int.Parse(pClienteResumido.CodBovespa.Replace("-CI", "")) == item.CdCodigo && item.CdSistema == eAtividade.BOL && item.StContaInvestimento)
                     *      {
                     *          lRetorno.CodBovespa = lRetorno.CodBovespa + "-CI";
                     *          lRetorno.CodGradual = lRetorno.CodGradual + "-CI";
                     *          lRetorno.CodBovespa = lRetorno.CodBovespa.Replace("-CI-CI", "-CI");
                     *          lRetorno.CodGradual = lRetorno.CodGradual.Replace("-CI-CI", "-CI");
                     *      }
                     *  }
                     *  if (!string.IsNullOrWhiteSpace(pClienteResumido.CodBMF))
                     *  {
                     *      if (int.Parse(pClienteResumido.CodBMF.Replace("-CI", "")) == item.CdCodigo && item.CdSistema == eAtividade.BMF && item.StContaInvestimento)
                     *      {
                     *          lRetorno.CodBMF = lRetorno.CodBMF + "-CI";
                     *          lRetorno.CodBMF = lRetorno.CodBMF.Replace("-CI-CI", "-CI");
                     *      }
                     *  }
                     *
                     * }*/
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            return(lRetorno);
        }
예제 #3
0
        private DateTime DefinirDataRenovacaoCadastral(ClienteResumidoInfo pClienteResumidoInfo)
        {
            var lAtivador = Ativador.Get <IServicoPersistenciaCadastro>();

            var lRetorno = lAtivador.ReceberEntidadeCadastro <ClienteRenovacaoCadastralInfo>(new Contratos.Mensagens.ReceberEntidadeCadastroRequest <ClienteRenovacaoCadastralInfo>()
            {
                EntidadeCadastro = new ClienteRenovacaoCadastralInfo()
                {
                    DsCpfCnpj = pClienteResumidoInfo.CPF
                }
            });

            return(lRetorno.EntidadeCadastro.DtRenovacao);
        }
예제 #4
0
        public TransporteDadosResumidosCliente(ClienteResumidoInfo pClienteResumidoInfo)
        {
            this.Id = pClienteResumidoInfo.IdCliente;

            this.CodAssessor = pClienteResumidoInfo.CodAssessor.ToString();

            this.CodGradual = pClienteResumidoInfo.CodGradual;

            this.CodBovespa = pClienteResumidoInfo.CodBovespa;

            this.CodBovespaComConta = pClienteResumidoInfo.CodBovespaComConta;

            this.CodBMF = pClienteResumidoInfo.CodBMF;

            this.CodBMFComConta = pClienteResumidoInfo.CodBMFComConta;

            this.CodBMFAtiva = pClienteResumidoInfo.CodBMFAtiva;

            this.CodBovespaAtiva = pClienteResumidoInfo.CodBovespaAtiva;

            this.NomeCliente = pClienteResumidoInfo.NomeCliente;

            this.CPF = pClienteResumidoInfo.CPF;

            this.Status = pClienteResumidoInfo.Status;

            this.Passo = pClienteResumidoInfo.Passo;

            this.DataCadastro = pClienteResumidoInfo.DataCadastro;

            this.DataRecadastro = this.DefinirDataRenovacaoCadastral(pClienteResumidoInfo);

            this.FlagPendencia = pClienteResumidoInfo.FlagPendencia;

            this.DataNascimento = pClienteResumidoInfo.DataNascimento;

            this.Email = pClienteResumidoInfo.Email;

            this.Sexo = pClienteResumidoInfo.Sexo;

            this.TipoCliente = pClienteResumidoInfo.TipoCliente;

            this.Cise = pClienteResumidoInfo.Cise;
        }
예제 #5
0
        public static ClienteResumidoInfo GerarResumoDoCliente(DataRow pDadosIniciais)
        {
            ClienteResumidoInfo lRetorno = new ClienteResumidoInfo()
            {
                IdCliente    = pDadosIniciais["IdCliente"].DBToInt32(),
                NomeCliente  = pDadosIniciais["NomeCliente"].DBToString(),
                CodBovespa   = pDadosIniciais["CodBovespa"].DBToString(),
                CodBMF       = pDadosIniciais["CodBMF"].DBToString(),
                CodGradual   = pDadosIniciais["CodGradual"].DBToString(),
                CPF          = pDadosIniciais["CPF"].DBToString(),
                Sexo         = pDadosIniciais["Sexo"].DBToString(),
                Status       = pDadosIniciais["Status"].DBToString(),
                Passo        = pDadosIniciais["Passo"].DBToString(),
                TipoCliente  = pDadosIniciais["TipoCliente"].DBToString(),
                DataCadastro = pDadosIniciais["DataCadastro"].DBToDateTime()
            };

            lRetorno.Email = string.Format("{0}@email.com", lRetorno.NomeCliente.Split(' ')[0]);

            return(lRetorno);
        }
예제 #6
0
        private string ResponderBuscarItensParaSelecao()
        {
            string lRetorno = "Erro...";

            var lRequest      = new ConsultarEntidadeCadastroRequest <ClienteResumidoInfo>();
            var lResponse     = new ConsultarEntidadeCadastroResponse <ClienteResumidoInfo>();
            var lDadosDeBusca = new ClienteResumidoInfo();

            string lTermoDeBusca, lBuscarPor, lTipo;

            bool lStatus_Ativo = false, lStatus_Inativo = false,
                 lPasso_Visitante = false, lPasso_Cadastrado = false, lPasso_ExportadoSinacor = false,
                 lPendencia_ComPendenciaCadastral = false, lPendencia_ComSolicitacaoAlteracao = false;

            lTermoDeBusca = Request.Form["TermoDeBusca"];
            lBuscarPor    = Request.Form["BuscarPor"];
            lTipo         = Request.Form["Tipo"];

            try
            {
                lStatus_Ativo   = Convert.ToBoolean(Request.Form["Status_Ativo"]);
                lStatus_Inativo = Convert.ToBoolean(Request.Form["Status_Inativo"]);

                lPasso_Visitante        = Convert.ToBoolean(Request.Form["Passo_Visitante"]);
                lPasso_Cadastrado       = Convert.ToBoolean(Request.Form["Passo_Cadastrado"]);
                lPasso_ExportadoSinacor = Convert.ToBoolean(Request.Form["Passo_ExportadoSinacor"]);

                lPendencia_ComPendenciaCadastral   = Convert.ToBoolean(Request.Form["Pendencia_ComPendenciaCadastral"]);
                lPendencia_ComSolicitacaoAlteracao = Convert.ToBoolean(Request.Form["Pendencia_ComSolicitacaoAlteracao"]);
            }
            catch { }

            lDadosDeBusca.TipoCliente = lTipo;

            lDadosDeBusca.TermoDeBusca = lTermoDeBusca;

            try
            {
                lDadosDeBusca.OpcaoBuscarPor = (OpcoesBuscarPor)Enum.Parse(typeof(OpcoesBuscarPor), lBuscarPor);
            }
            catch (Exception)
            {
                lDadosDeBusca.OpcaoBuscarPor = OpcoesBuscarPor.NomeCliente;
            }

            {   //--> Setando o status da consulta
                if (lStatus_Ativo && lStatus_Inativo)
                {
                    lDadosDeBusca.OpcaoStatus = lDadosDeBusca.OpcaoStatus;
                }

                else if (lStatus_Ativo)
                {
                    lDadosDeBusca.OpcaoStatus = OpcoesStatus.Ativo;
                }

                else if (lStatus_Inativo)
                {
                    lDadosDeBusca.OpcaoStatus = OpcoesStatus.Inativo;
                }
            }

            {   //--> Definindo o passo do cadastro
                if (lPasso_Visitante && lPasso_Cadastrado && lPasso_ExportadoSinacor)
                {
                    lDadosDeBusca.OpcaoPasso = OpcoesPasso.Visitante | OpcoesPasso.Cadastrado | OpcoesPasso.Exportado;
                }

                else if (lPasso_Visitante && lPasso_Cadastrado)
                {
                    lDadosDeBusca.OpcaoPasso = OpcoesPasso.Visitante | OpcoesPasso.Cadastrado;
                }

                else if (lPasso_Visitante && lPasso_ExportadoSinacor)
                {
                    lDadosDeBusca.OpcaoPasso = OpcoesPasso.Visitante | OpcoesPasso.Exportado;
                }

                else if (lPasso_Cadastrado && lPasso_ExportadoSinacor)
                {
                    lDadosDeBusca.OpcaoPasso = OpcoesPasso.Cadastrado | OpcoesPasso.Exportado;
                }

                else if (lPasso_Visitante)
                {
                    lDadosDeBusca.OpcaoPasso = OpcoesPasso.Visitante;
                }

                else if (lPasso_Cadastrado)
                {
                    lDadosDeBusca.OpcaoPasso = OpcoesPasso.Cadastrado;
                }

                else if (lPasso_ExportadoSinacor)
                {
                    lDadosDeBusca.OpcaoPasso = OpcoesPasso.Exportado;
                }
            }

            if (lPendencia_ComPendenciaCadastral && !lPendencia_ComSolicitacaoAlteracao)
            {
                lDadosDeBusca.OpcaoPendencia = OpcoesPendencia.ComPendenciaCadastral;
            }
            else if (!lPendencia_ComPendenciaCadastral && lPendencia_ComSolicitacaoAlteracao)
            {
                lDadosDeBusca.OpcaoPendencia = OpcoesPendencia.ComSolicitacaoAlteracao;
            }
            else if (!lPendencia_ComPendenciaCadastral && !lPendencia_ComSolicitacaoAlteracao)
            {
                lDadosDeBusca.OpcaoPendencia = 0;
            }

            lRequest.EntidadeCadastro = lDadosDeBusca;

            try
            {
                ReceberEntidadeCadastroRequest <LoginInfo> lEntradaLogin = new ReceberEntidadeCadastroRequest <LoginInfo>();

                lEntradaLogin.EntidadeCadastro = new LoginInfo()
                {
                    IdLogin = base.UsuarioLogado.Id
                };

                ReceberEntidadeCadastroResponse <LoginInfo> lRetornoLogin = this.ServicoPersistenciaCadastro.ReceberEntidadeCadastro <LoginInfo>(lEntradaLogin);

                if (lRetornoLogin.EntidadeCadastro.TpAcesso == eTipoAcesso.Assessor)
                {
                    lRequest.EntidadeCadastro.CodAssessor = lRetornoLogin.EntidadeCadastro.CdAssessor;
                }
                else
                {
                    lRequest.EntidadeCadastro.CodAssessor = null;
                }

                //--> Realizando a Consulta
                lResponse = this.ServicoPersistenciaCadastro.ConsultarEntidadeCadastro <ClienteResumidoInfo>(lRequest);

                if (MensagemResponseStatusEnum.OK.Equals(lResponse.StatusResposta))
                {
                    if (lDadosDeBusca.OpcaoBuscarPor == OpcoesBuscarPor.CodBovespa)
                    {
                        if (lResponse.Resultado != null && lResponse.Resultado.Count == 1 &&
                            (lResponse.Resultado[0].CodGradual != lDadosDeBusca.TermoDeBusca))
                        {
                            var lContas = this.ServicoPersistenciaCadastro.ConsultarEntidadeCadastro <ClienteContaInfo>(
                                new ConsultarEntidadeCadastroRequest <ClienteContaInfo>()
                            {
                                DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                                IdUsuarioLogado        = base.UsuarioLogado.Id,
                                EntidadeCadastro       = new ClienteContaInfo()
                                {
                                    IdCliente = lResponse.Resultado[0].IdCliente
                                }
                            });

                            foreach (ClienteContaInfo item in lContas.Resultado)
                            {
                                if (item.CdCodigo == int.Parse(lDadosDeBusca.TermoDeBusca) &&
                                    (item.CdSistema == eAtividade.BOL) &&
                                    (item.StContaInvestimento))
                                {
                                    lResponse.Resultado[0].CodGradual = lDadosDeBusca.TermoDeBusca;
                                    lResponse.Resultado[0].CodBovespa = lDadosDeBusca.TermoDeBusca;
                                    if (item.StAtiva)
                                    {
                                        lResponse.Resultado[0].CodBovespaAtiva = "A";
                                    }
                                    else
                                    {
                                        lResponse.Resultado[0].CodBovespaAtiva = "I";
                                    }
                                }
                            }
                        }
                    }

                    this.SessionUltimoResultadoDeBusca = lResponse.Resultado;

                    TransporteDeListaPaginada lListaPaginada = BuscarPaginaDeResultados(1);

                    lRetorno = RetornarSucessoAjax(lListaPaginada, "Encontrados [{0}] clientes", lResponse.Resultado.Count);
                }
                else
                {
                    lRetorno = RetornarErroAjax("Erro durante a busca.", string.Format("{0}\r\n\r\n{1}\r\n\r\n{2}", lResponse.StatusResposta, lResponse.StatusResposta, lResponse.DescricaoResposta));
                }
            }
            catch (Exception exBusca)
            {
                lRetorno = RetornarErroAjax("Erro durante a busca", exBusca);
            }

            return(lRetorno);
        }
        public List <Transporte_PosicaoCotistaRebate> TraduzirLista(List <Transporte_PosicaoCotista> pListaPosicao, ClienteResumidoInfo pCliente, DateTime DataInicial, DateTime DataFinal)
        {
            var lRetorno = new List <Transporte_PosicaoCotistaRebate>();

            pListaPosicao.ForEach(posicao =>
            {
                var lDataAplicacao = posicao.DataAplicacao.DBToDateTime();

                //if (DataInicial <= lDataAplicacao && lDataAplicacao <= DataFinal )
                //{
                var lTrans = new Transporte_PosicaoCotistaRebate();

                lTrans.CodigoCliente = pCliente.CodBovespa;

                lTrans.NomeCliente = pCliente.NomeCliente;

                lTrans.CodigoAssessor = pCliente.CodAssessor.Value.ToString();

                lTrans.NomeFundo = posicao.NomeFundo;

                lTrans.CodigoAnbima = posicao.CodigoAnbima;

                lTrans.ValorAplicacao = posicao.ValorLiquido;

                lTrans.DataAplicacao = posicao.DataAtualizacao;

                lTrans.ValorRepasse = this.CalculoRepasse(posicao.CodigoAnbima, decimal.Parse(posicao.ValorLiquido), DataInicial, DataFinal);

                lRetorno.Add(lTrans);
                //}
            });

            return(lRetorno);
        }
예제 #8
0
        private List <ClienteResumidoInfo> ConsultarEntidadeCadastroClienteResumidoInfo(ClienteResumidoInfo pParametros)
        {
            List <ClienteResumidoInfo> lResposta = new List <ClienteResumidoInfo>();

            string lFiltro = "";

            if (!pParametros.TermoDeBusca.Contains('*'))
            {
                pParametros.TermoDeBusca = string.Format("*{0}*", pParametros.TermoDeBusca);    //implementado como a versão real, que inclui * automaticamente
            }

            switch (pParametros.OpcaoBuscarPor)
            {
            case OpcoesBuscarPor.CodBovespa:

                lFiltro = string.Format("CodBovespa LIKE '{0}'", pParametros.TermoDeBusca);

                break;

            case OpcoesBuscarPor.CpfCnpj:

                lFiltro = string.Format("CPF LIKE '{0}'", pParametros.TermoDeBusca);

                break;

            case OpcoesBuscarPor.NomeCliente:

                lFiltro = string.Format("NomeCliente LIKE '{0}'", pParametros.TermoDeBusca);

                break;
            }


            if (pParametros.OpcaoStatus == OpcoesStatus.Ativo)
            {
                lFiltro += " AND Status = 'Ativo'";
            }
            else if (pParametros.OpcaoStatus == OpcoesStatus.Inativo)
            {
                lFiltro += " AND Status = 'Inativo'";
            }
            else
            {
                //os dois valores
            }

            switch (pParametros.OpcaoPasso)
            {
            case OpcoesPasso.Visitante:

                lFiltro += " AND Passo = 'Visitante'";

                break;

            case OpcoesPasso.Cadastrado:

                lFiltro += " AND Passo = 'Cadastrado'";

                break;

            case OpcoesPasso.Exportado:

                lFiltro += " AND Passo = 'Exportado'";

                break;

            case OpcoesPasso.Visitante | OpcoesPasso.Cadastrado:

                lFiltro += " AND (Passo = 'Visitante' OR Passo = 'Cadastrado')";

                break;

            case OpcoesPasso.Visitante | OpcoesPasso.Exportado:

                lFiltro += " AND (Passo = 'Visitante' OR Passo = 'Exportado')";

                break;

            case OpcoesPasso.Cadastrado | OpcoesPasso.Exportado:

                lFiltro += " AND (Passo = 'Cadastrado' OR Passo = 'Exportado')";

                break;

            default:

                //todos então deixa

                break;
            }

            if (pParametros.OpcaoPendencia == OpcoesPendencia.ComPendenciaCadastral)
            {
                lFiltro += " AND FlagPendencia = 'Cadastral'";
            }
            else if (pParametros.OpcaoPendencia == OpcoesPendencia.ComSolicitacaoAlteracao)
            {
                lFiltro += " AND FlagPendencia = 'Alteracao'";
            }
            else
            {
                //os dois valores
            }

            DataView lView = new DataView(ArmazenDeMocks.TabelaDeClientes);

            lView.RowFilter = lFiltro;

            DataTable lTable = lView.ToTable();

            foreach (DataRow lRow in lTable.Rows)
            {
                lResposta.Add(FabricaDeMocks.GerarResumoDoCliente(lRow));
            }

            return(lResposta);
        }
예제 #9
0
        private string ResponderBuscarItensParaListagemSimples()
        {
            string lRetorno = "Erro...";

            ConsultarEntidadeCadastroRequest <ClienteResumidoInfo>  lRequest  = new ConsultarEntidadeCadastroRequest <ClienteResumidoInfo>();
            ConsultarEntidadeCadastroResponse <ClienteResumidoInfo> lResponse = new ConsultarEntidadeCadastroResponse <ClienteResumidoInfo>();

            ClienteResumidoInfo lDadosDeBusca = new ClienteResumidoInfo();

            string lTermoDeBusca, lBuscarPor, lTipo;

            lTermoDeBusca = Request.Form["TermoDeBusca"];
            lBuscarPor    = Request.Form["BuscarPor"];
            lTipo         = Request.Form["Tipo"];

            lDadosDeBusca.TipoCliente = lTipo;

            lDadosDeBusca.TermoDeBusca = lTermoDeBusca;

            OpcoesBuscarPor lOpcoesBuscarPor;

            if (Enum.TryParse <OpcoesBuscarPor>(lBuscarPor, true, out lOpcoesBuscarPor))
            {
                lDadosDeBusca.OpcaoBuscarPor = lOpcoesBuscarPor;
            }
            else
            {
                lDadosDeBusca.OpcaoBuscarPor = OpcoesBuscarPor.NomeCliente;
            }

            lDadosDeBusca.OpcaoStatus = OpcoesStatus.Ativo | OpcoesStatus.Inativo;

            lDadosDeBusca.OpcaoPasso = OpcoesPasso.Exportado;

            lDadosDeBusca.OpcaoPendencia = OpcoesPendencia.ComPendenciaCadastral | OpcoesPendencia.ComSolicitacaoAlteracao | 0;

            lRequest.EntidadeCadastro = lDadosDeBusca;

            try
            {
                ReceberEntidadeCadastroRequest <LoginInfo> lEntradaLogin = new ReceberEntidadeCadastroRequest <LoginInfo>();
                lEntradaLogin.EntidadeCadastro = new LoginInfo()
                {
                    IdLogin = base.UsuarioLogado.Id
                };
                ReceberEntidadeCadastroResponse <LoginInfo> lRetornoLogin = this.ServicoPersistenciaCadastro.ReceberEntidadeCadastro <LoginInfo>(lEntradaLogin);
                lRequest.EntidadeCadastro.CodAssessor = lRetornoLogin.EntidadeCadastro.CdAssessor;

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

                if (MensagemResponseStatusEnum.OK.Equals(lResponse.StatusResposta))
                {
                    lResponse.Resultado.ForEach(cri => cri.NomeCliente = cri.NomeCliente.ToStringFormatoNome());    //--> Normalizando o nome dos clientes.

                    lResponse.Resultado.Sort((a, b) => string.Compare(a.NomeCliente.Trim(), b.NomeCliente.Trim())); //--> Ordenando o resultado por nome.

                    this.SessionUltimoResultadoDeBusca = lResponse.Resultado;
                    rowLinhaDeNenhumItem.Visible       = !(lResponse.Resultado.Count > 0);

                    TransporteDeListaPaginada lListaPaginada = BuscarPaginaDeResultados(1);

                    lRetorno = RetornarSucessoAjax(lListaPaginada, "Encontrados [{0}] clientes", lResponse.Resultado.Count);
                }
                else
                {
                    lRetorno = RetornarErroAjax("Erro durante a busca.", string.Format("{0}\r\n\r\n{1}\r\n\r\n{2}", lResponse.StatusResposta, lResponse.StatusResposta, lResponse.DescricaoResposta));
                }
            }
            catch (Exception exBusca)
            {
                RetornarErroAjax("Erro durante a busca", exBusca);
            }

            return(lRetorno);
        }