public PosicaoCustodiaTesouroDiretoResponse ConsultarCustodiaComTesouro(PosicaoCustodiaTesouroDiretoRequest pParametros) { var lRetorno = new PosicaoCustodiaTesouroDiretoResponse(); lRetorno.Objeto.AddRange(this.ConsultarCustodiaTesouroDireto(pParametros)); lRetorno.Objeto.AddRange(this.ConsultarCustodiaBTC(pParametros)); lRetorno.DescricaoResposta = string.Format("Posição em custódia do cliente: {0} carregado com sucesso", pParametros.ConsultaCdClienteBovespa.DBToString()); lRetorno.StatusResposta = MensagemResponseStatusEnum.OK; return(lRetorno); }
private List <PosicaoCustodiaTesouroDiretoInfo> ConsultarCustodiaTesouroDireto(PosicaoCustodiaTesouroDiretoRequest pParametros) { var lLista = new List <PosicaoCustodiaTesouroDiretoInfo>(); var lAcessaDados = new AcessaDados(); var lRetorno = new PosicaoCustodiaTesouroDiretoResponse(); lAcessaDados.ConnectionStringName = gNomeConexaoOracle; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_SEL_CUSTODIA_INTRANET")) { lAcessaDados.AddInParameter(lDbCommand, "IdCliente", DbType.Int32, pParametros.ConsultaCdClienteBovespa); lAcessaDados.AddInParameter(lDbCommand, "IdClienteBMF", DbType.Int32, pParametros.ConsultaCdClienteBMF); var lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand); if (null != lDataTable && lDataTable.Rows.Count > 0) { for (int i = 0; i < lDataTable.Rows.Count; i++) { lLista.Add(new PosicaoCustodiaTesouroDiretoInfo() { CodigoInstrumento = lDataTable.Rows[i]["COD_NEG"].DBToString(), CodigoCarteira = lDataTable.Rows[i]["COD_CART"].DBToInt32(), DescricaoCarteira = lDataTable.Rows[i]["DESC_CART"].DBToString().Trim(), TipoMercado = lDataTable.Rows[i]["TIPO_MERC"].DBToString(), TipoGrupo = lDataTable.Rows[i]["TIPO_GRUP"].DBToString(), IdCliente = lDataTable.Rows[i]["COD_CLI"].DBToInt32(), QtdeAtual = lDataTable.Rows[i]["QTDE_ATUAL"].DBToDouble(), QtdeDisponivel = lDataTable.Rows[i]["QTDE_DISP"].DBToDouble(), QtdeAExecVenda = lDataTable.Rows[i]["QTDE_AEXE_VDA"].DBToInt32(), QtdeAExecCompra = lDataTable.Rows[i]["QTDE_AEXE_CPA"].DBToInt32(), NomeEmpresa = lDataTable.Rows[i]["NOME_EMP_EMI"].DBToString(), ValorPosicao = lDataTable.Rows[i]["VAL_POSI"].DBToDouble(), DtVencimento = lDataTable.Rows[i]["DATA_VENC"].DBToDateTime(), QtdeD1 = lDataTable.Rows[i]["QTDE_DA1"].DBToDecimal(), QtdeD2 = lDataTable.Rows[i]["QTDE_DA2"].DBToDecimal(), QtdeD3 = lDataTable.Rows[i]["QTDE_DA3"].DBToDecimal(), }); } } } if (null != pParametros.ConsultaDtVencimentoTermo && lLista.Count > 0) { lLista = lLista.FindAll(mov => { return(mov.DtVencimento.Value.Date == pParametros.ConsultaDtVencimentoTermo.Value.Date); }); } return(lLista); }
public PosicaoCustodiaTesouroDiretoResponse ConsultarCustodiaComTesouro(PosicaoCustodiaTesouroDiretoRequest pParametros) { var lRetorno = new PosicaoCustodiaTesouroDiretoResponse(); try { lRetorno = new SaldoProjetadoCCDbLib().ConsultarCustodiaComTesouro(pParametros); } catch (Exception ex) { gLogger.Error(string.Concat("Erro ao consultar ConsultarCustodiaTesouroDireto; CodBov, CodBmf ", pParametros.ConsultaCdClienteBovespa, pParametros.ConsultaCdClienteBMF), ex); lRetorno.DescricaoResposta = ex.ToString(); lRetorno.StatusResposta = Library.MensagemResponseStatusEnum.ErroPrograma; } return(lRetorno); }