Пример #1
0
        public ExtratoOperacaoResponse ObterExtratoOperacoesBovespa(ExtratoOperacaoRequest lRequest)
        {
            var lRetorno = new ExtratoOperacaoResponse();

            var lAcessaDados = new AcessaDados();

            log4net.Config.XmlConfigurator.Configure();

            try
            {
                lAcessaDados.ConnectionStringName = "CORRWIN";

                this.BuscarExtratoOrdens_Cabecalho(ref lRequest, ref lAcessaDados, ref lRetorno);

                this.BuscarExtratoOrdens_Detalhes(ref lRequest, ref lAcessaDados, ref lRetorno);
            }
            catch (Exception ex)
            {
                gLogger.Error("ObterExtratoOperacoesBovespa", ex);
                lRetorno.DescricaoResposta = ex.ToString();
                lRetorno.StatusResposta    = MensagemResponseStatusEnum.ErroNegocio;
            }

            return(lRetorno);
        }
Пример #2
0
        private ExtratoOrdemInfo CarregarRelatorio()
        {
            try
            {
                var lServicoAtivador = Ativador.Get <IServicoRelatoriosFinanceiros>();

                ExtratoOperacaoResponse lResponse = lServicoAtivador.ObterExtratoOperacoesBovespa(new ExtratoOperacaoRequest()
                {
                    ConsultaCodigoCliente = this.GetCodigoBovespa,
                    ConsultaDataMovimento = this.GetDataInicial,
                });

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    base.RegistrarLogConsulta(new Contratos.Dados.Cadastro.LogIntranetInfo()
                    {
                        CdBovespaClienteAfetado = this.GetCodCliente, DsObservacao = string.Concat("Consulta realizada para o cliente: cd_codigo = ", this.GetCodCliente)
                    });

                    return(lResponse.RelatorioBovespa);
                }
                else
                {
                    throw new Exception(string.Format("{0}-{1}", lResponse.StatusResposta, lResponse.DescricaoResposta));
                }
            }
            catch (Exception ex)
            {
                base.RetornarErroAjax("Houve um erro ao tentar gerar Relatorio de Extrato de Operações", ex);
                return(new ExtratoOrdemInfo());
            }
        }
Пример #3
0
        public ExtratoOperacaoResponse ObterExtratoOperacoesBovespa(ExtratoOperacaoRequest pParametros)
        {
            var lRetorno = new ExtratoOperacaoResponse();

            try
            {
                lRetorno = new ExtratoOperacaoDbLib().ObterExtratoOperacoesBovespa(pParametros);
            }
            catch (Exception ex)
            {
                gLogger.Error(string.Concat("Erro ao consultar Extrato Operação ; Cliente: ", pParametros.ConsultaCodigoClienteBmf.Value.ToString()), ex);

                lRetorno.DescricaoResposta = ex.ToString();
                lRetorno.StatusResposta    = Library.MensagemResponseStatusEnum.ErroPrograma;
            }

            return(lRetorno);
        }
Пример #4
0
        private void BuscarExtratoOrdens_Cabecalho(ref ExtratoOperacaoRequest pParametros, ref AcessaDados pAcessoDados, ref ExtratoOperacaoResponse plRetorno)
        {
            using (DbCommand lDbCommand = pAcessoDados.CreateCommand(CommandType.StoredProcedure, "PRC_EXT_BOV_CAB"))
            {
                pAcessoDados.AddInParameter(lDbCommand, "pClienteCodigo", DbType.Int32, pParametros.ConsultaCodigoCliente);
                pAcessoDados.AddInParameter(lDbCommand, "pData", DbType.Date, pParametros.ConsultaDataMovimento);

                plRetorno.RelatorioBovespa.Resultado = new List <ExtratoOperacaoCabecalhoInfo>();

                using (var lDataTable = pAcessoDados.ExecuteOracleDataTable(lDbCommand))
                {
                    if (null != lDataTable && lDataTable.Rows.Count > 0)
                    {
                        for (int i = 0; i < lDataTable.Rows.Count; i++)
                        {
                            var lExtrato = new ExtratoOperacaoCabecalhoInfo();

                            lExtrato.CodigoCliente       = lDataTable.Rows[i]["CD_CLIENTE"].DBToInt32();
                            lExtrato.DivCodigoCliente    = lDataTable.Rows[i]["DV_CLIENTE"].DBToInt32();
                            lExtrato.NomeCliente         = lDataTable.Rows[i]["NM_CLIENTE"].DBToString();
                            lExtrato.Companhia           = lDataTable.Rows[i]["NM_NOMPRE"].DBToString();
                            lExtrato.CodigoAssessor      = lDataTable.Rows[i]["CD_ASSESSOR"].DBToInt32();
                            lExtrato.Mercado             = lDataTable.Rows[i]["DS_MERCADO"].DBToString();
                            lExtrato.NomeOperador        = lDataTable.Rows[i]["NM_EMIT_ORDEM"].DBToString();
                            lExtrato.Papel               = lDataTable.Rows[i]["CD_NEGOCIO"].DBToString();
                            lExtrato.PessoaVinculada     = lDataTable.Rows[i]["IN_PESVIN"].DBToString();
                            lExtrato.NumeroOrdem         = lDataTable.Rows[i]["NR_SEQORD"].DBToInt32();
                            lExtrato.Status              = lDataTable.Rows[i]["IN_SITUAC"].DBToString();
                            lExtrato.PrazoVencimento     = lDataTable.Rows[i]["PCO_EXER"].DBToString();
                            lExtrato.Preco               = lDataTable.Rows[i]["VL_PREPAP"].DBToDecimal();
                            lExtrato.PrecoExercicio      = lDataTable.Rows[i]["VL_PREEXE"].DBToDecimal();
                            lExtrato.Quantidade          = lDataTable.Rows[i]["QT_ORDEM"].DBToInt32();
                            lExtrato.QuantidadeExecutada = lDataTable.Rows[i]["QT_ORDEXEC"].DBToInt32();
                            lExtrato.Saldo               = lDataTable.Rows[i]["SALDO"].DBToInt32();
                            lExtrato.TipoBolsa           = "BOVESPA";
                            lExtrato.TipoCompanhia       = lDataTable.Rows[i]["NM_ESPECI"].DBToString();;
                            lExtrato.TipoOrdem           = lDataTable.Rows[i]["TP_ORDEM"].DBToString();
                            lExtrato.Vencimento          = lDataTable.Rows[i]["DT_DATVEN"].DBToDateTime();
                            lExtrato.Sentido             = lDataTable.Rows[i]["CD_NATOPE"].DBToString();
                            lExtrato.TipoMercado         = lDataTable.Rows[i]["DS_MERCADO"].DBToString();

                            plRetorno.RelatorioBovespa.Resultado.Add(lExtrato);
                        }
                    }
                }
            }
        }
Пример #5
0
        private void BuscarExtratoOrdens_Detalhes(ref ExtratoOperacaoRequest pParametros, ref AcessaDados pAcessoDados, ref ExtratoOperacaoResponse plRetorno)
        {
            using (DbCommand lDbCommand = pAcessoDados.CreateCommand(CommandType.StoredProcedure, "PRC_EXT_BOV_ORDENS"))
            {
                pAcessoDados.AddInParameter(lDbCommand, "pClienteCodigo", DbType.Int32, pParametros.ConsultaCodigoCliente);
                pAcessoDados.AddInParameter(lDbCommand, "pData", DbType.Date, pParametros.ConsultaDataMovimento);

                using (var lDataTable = pAcessoDados.ExecuteOracleDataTable(lDbCommand))
                {
                    for (int i = 0; i < plRetorno.RelatorioBovespa.Resultado.Count; i++)
                    {
                        plRetorno.RelatorioBovespa.Resultado[i].Detalhes = new List <ExtratoOperacaoDetalheInfo>();
                    }

                    if (null != lDataTable && lDataTable.Rows.Count > 0)
                    {
                        for (int i = 0; i < lDataTable.Rows.Count; i++)
                        {
                            var lExtratos = plRetorno.RelatorioBovespa.Resultado.FindAll(ordem =>
                            {
                                return(ordem.NumeroOrdem == lDataTable.Rows[i]["NR_SEQORD"].DBToInt32());
                            });

                            ExtratoOperacaoDetalheInfo lInfo = null;

                            for (int j = 0; j < lExtratos.Count; j++)
                            {
                                lInfo = new ExtratoOperacaoDetalheInfo();

                                lInfo.Sentido           = lDataTable.Rows[i]["SENTIDO"].DBToString();
                                lInfo.CodigoContraParte = lDataTable.Rows[i]["CD_CONTRAPARTE"].DBToInt32();
                                lInfo.Data           = lDataTable.Rows[i]["DT_HOREXE"].DBToDateTime();
                                lInfo.NumeroOperacao = lDataTable.Rows[i]["NR_NEGOCIO"].DBToInt32();
                                lInfo.Preco          = lDataTable.Rows[i]["VL_NEGOCIO"].DBToDecimal();
                                lInfo.Quantidade     = lDataTable.Rows[i]["QT_NEGOCIO"].DBToInt32();
                                lInfo.NumeroOrdem    = lDataTable.Rows[i]["NR_SEQORD"].DBToInt32();

                                lExtratos[j].Detalhes.Add(lInfo);
                            }
                        }
                    }
                }
            }
        }