//public static List<TransporteCustodia> TraduzirCustodiaInfo(List<MonitorCustodiaInfo.CustodiaPosicao> pParametros) //{ // List<TransporteCustodia> lRetorno = new List<TransporteCustodia>(); // if (pParametros != null) // { // foreach (MonitorCustodiaInfo.CustodiaPosicao lInfo in pParametros) // { // lRetorno.Add(new TransporteCustodia(lInfo)); // } // } // return lRetorno; //} /* * public static List<TransporteCustodia> TraduzirCustodiaInfo(List<MonitoramentoRiscoLucroCustodiaPosicaoDiaBmfInfo.CustodiaPosicao> pParametros) * { * List<TransporteCustodia> lRetorno = new List<TransporteCustodia>(); * List<TransporteCustodia> lTempRetorno = new List<TransporteCustodia>(); * * if (pParametros != null) * { * foreach (MonitoramentoRiscoLucroCustodiaPosicaoDiaBmfInfo.CustodiaPosicao lInfo in pParametros) * { * TransporteCustodia lPosicao = new TransporteCustodia(); * * var lTemp = lTempRetorno.Find(negocio => negocio.CodigoNegocio == lInfo.CodigoInstrumento); * * * if (lTemp != null) * { * lTempRetorno.Remove(lTemp); * * lTemp.QtdAbertura = "0"; * lTemp.Empresa = "n/a"; * lTemp.TipoMercado = lInfo.TipoMercado; * lTemp.CodigoNegocio = lInfo.CodigoInstrumento; * lTemp.QtdVenda = (decimal.Parse(lTemp.QtdVenda, gCulturaStatic) + lInfo.QtdeAExecVenda).ToString(); * lTemp.QtdCompra = (decimal.Parse(lTemp.QtdCompra, gCulturaStatic) + lInfo.QtdeAExecCompra).ToString(); * lTemp.QtdAtual = (decimal.Parse(lTemp.QtdCompra, gCulturaStatic) - decimal.Parse(lTemp.QtdVenda, gCulturaStatic)).ToString(gCulturaStatic); * lTemp.Carteira = "n/a"; * lTemp.CodigoCliente = lInfo.IdCliente.ToString(); * lTemp.TipoGrupo = lInfo.TipoGrupo; * lTemp.ValorPosicao = lInfo.ValorPosicao.ToString(gCulturaStatic); * lTemp.CodigoSerie = lInfo.CodigoSerie; * lTemp.PrecoNegocioCompra = (decimal.Parse(lTemp.PrecoNegocioCompra, gCulturaStatic) + (lInfo.PrecoNegocioCompra * lInfo.QtdeAExecCompra)).ToString(); * lTemp.PrecoNegocioVenda = (decimal.Parse(lTemp.PrecoNegocioVenda, gCulturaStatic) + (lInfo.PrecoNegocioVenda * lInfo.QtdeAExecVenda)).ToString(); * lTemp.Sentido = lInfo.Sentido; * lTemp.EhPosicao = true; * * lTempRetorno.Add(lTemp); * } * else * { * lPosicao.QtdAbertura = "0"; * lPosicao.Empresa = "n/a"; * lPosicao.TipoMercado = lInfo.TipoMercado; * lPosicao.CodigoNegocio = lInfo.CodigoInstrumento; * lPosicao.QtdVenda = lInfo.QtdeAExecVenda.ToString(gCulturaStatic); * lPosicao.QtdCompra = lInfo.QtdeAExecCompra.ToString(gCulturaStatic); * lPosicao.QtdAtual = (decimal.Parse(lPosicao.QtdCompra, gCulturaStatic) - decimal.Parse(lPosicao.QtdVenda, gCulturaStatic)).ToString(gCulturaStatic); * lPosicao.Carteira = "n/a"; * lPosicao.CodigoCliente = lInfo.IdCliente.ToString(); * lPosicao.TipoGrupo = lInfo.TipoGrupo; * lPosicao.ValorPosicao = lInfo.ValorPosicao.ToString(gCulturaStatic); * lPosicao.CodigoSerie = lInfo.CodigoSerie; * lPosicao.PrecoNegocioCompra = (lInfo.PrecoNegocioCompra * lInfo.QtdeAExecCompra).ToString(gCulturaStatic); * lPosicao.PrecoNegocioVenda = (lInfo.PrecoNegocioVenda * lInfo.QtdeAExecVenda).ToString(gCulturaStatic); * lPosicao.Sentido = lInfo.Sentido; * lPosicao.EhPosicao = true; * * lTempRetorno.Add(lPosicao); * } * } * * lRetorno = lTempRetorno; * } * * return lRetorno; * } */ public static List <SaldoCustodiaBmfCliente> TraduzirCustodiaInfo(List <MonitorCustodiaInfo.CustodiaPosicaoDiaBMF> pParametros, List <MonitorCustodiaInfo.CustodiaPosicao> pParametrosNormal) { var lRetorno = new List <SaldoCustodiaBmfCliente>(); var lTempRetorno = new List <SaldoCustodiaBmfCliente>(); if (pParametros != null) { foreach (MonitorCustodiaInfo.CustodiaPosicaoDiaBMF lInfo in pParametros) { var lPosicao = new SaldoCustodiaBmfCliente(); var lTemp = lTempRetorno.Find(negocio => negocio.Ativo == lInfo.CodigoInstrumento); if (lTemp != null) { lTempRetorno.Remove(lTemp); lTemp.QuantidadeAbertura = 0M; lTemp.TipoMercadoria = lInfo.TipoMercado; lTemp.Ativo = lInfo.CodigoInstrumento; lTemp.QuantidadeVendido = lTemp.QuantidadeVendido + lInfo.QtdeAExecVenda; lTemp.QuantidadeComprado = lTemp.QuantidadeComprado + lInfo.QtdeAExecCompra; lTemp.QuantidadeAtual = lTemp.QuantidadeComprado - lTemp.QuantidadeVendido; lTemp.Serie = lInfo.CodigoSerie; lTemp.PU = lInfo.ValorPU; lTemp.Ajuste = lInfo.ValorFechamento; lTemp.EhPosicao = true; //lTemp.Carteira = "n/a"; //lTemp.CodigoCliente = lInfo.IdCliente.ToString(); //lTemp.TipoGrupo = lInfo.TipoGrupo; //lTemp.ValorPosicao = lInfo.ValorPosicao.ToString(gCulturaStatic); //lTemp.PrecoNegocioCompra = (decimal.Parse(lTemp.PrecoNegocioCompra, gCulturaStatic) + (lInfo.PrecoNegocioCompra * lInfo.QtdeAExecCompra)).ToString(); //lTemp.PrecoNegocioVenda = (decimal.Parse(lTemp.PrecoNegocioVenda, gCulturaStatic) + (lInfo.PrecoNegocioVenda * lInfo.QtdeAExecVenda)).ToString(); //lTemp.Sentido = lInfo.Sentido; //lPosicao.Cotacao = lInfo.Cotacao.ToString("N2"); //lPosicao.ValorDeFechamento = lInfo.ValorFechamento.ToString("N2"); //lPosicao.Resultado = lInfo.Resultado.ToString("N2"); //lPosicao.Variacao = lInfo.Variacao.ToString("N2"); //lPosicao.ValorPU = lInfo.ValorPU.ToString("N2"); lTempRetorno.Add(lTemp); } else { lPosicao.QuantidadeAbertura = 0M; lPosicao.TipoMercadoria = lInfo.TipoMercado; lPosicao.Ativo = lInfo.CodigoInstrumento; lPosicao.QuantidadeVendido = lInfo.QtdeAExecVenda; lPosicao.QuantidadeComprado = lInfo.QtdeAExecCompra; lPosicao.QuantidadeAtual = lPosicao.QuantidadeComprado - lPosicao.QuantidadeVendido; lPosicao.Serie = lInfo.CodigoSerie; lPosicao.PU = lInfo.ValorPU; lPosicao.Ajuste = lInfo.ValorFechamento; //lPosicao.Carteira = "n/a"; //lPosicao.CodigoCliente = lInfo.IdCliente.ToString(); //lPosicao.TipoGrupo = lInfo.TipoGrupo; //lPosicao.ValorPosicao = lInfo.ValorPosicao.ToString(gCulturaStatic); //lPosicao.PrecoNegocioCompra = (lInfo.PrecoNegocioCompra * lInfo.QtdeAExecCompra).ToString(gCulturaStatic); //lPosicao.PrecoNegocioVenda = (lInfo.PrecoNegocioVenda * lInfo.QtdeAExecVenda).ToString(gCulturaStatic); //lPosicao.Sentido = lInfo.Sentido; //lPosicao.EhPosicao = true; //lPosicao.Cotacao = lInfo.Cotacao.ToString("N2"); //lPosicao.ValorDeFechamento = lInfo.ValorFechamento.ToString("N2"); //lPosicao.Resultado = lInfo.Resultado.ToString("N2"); //lPosicao.Variacao = lInfo.Variacao.ToString("N2"); //lPosicao.ValorPU = lInfo.ValorPU.ToString("N2"); lTempRetorno.Add(lPosicao); } } lRetorno = lTempRetorno; } if (pParametrosNormal != null) { lTempRetorno = new List <SaldoCustodiaBmfCliente>(); foreach (MonitorCustodiaInfo.CustodiaPosicao lInfo in pParametrosNormal) { var lPosicao = new SaldoCustodiaBmfCliente(); var lTemp = lTempRetorno.Find(negocio => negocio.Ativo == lInfo.CodigoInstrumento); if (lInfo.TipoMercado != "FUT") { continue; } if (lTemp != null) { lTempRetorno.Remove(lTemp); lTemp.QuantidadeAbertura = 0M; lTemp.TipoMercadoria = lInfo.TipoMercado; lTemp.Ativo = lInfo.CodigoInstrumento; lTemp.QuantidadeVendido = lTemp.QuantidadeVendido + lInfo.QtdeAExecVenda; lTemp.QuantidadeComprado = lTemp.QuantidadeComprado + lInfo.QtdeAExecCompra; lTemp.QuantidadeAtual = lTemp.QuantidadeComprado - lTemp.QuantidadeVendido; lTemp.Serie = lInfo.CodigoSerie; lTemp.PU = lInfo.ValorPU; lTemp.Ajuste = lInfo.ValorFechamento; lTemp.EhPosicao = true; lTempRetorno.Add(lTemp); } else { lPosicao.QuantidadeAbertura = 0M; lPosicao.TipoMercadoria = lInfo.TipoMercado; lPosicao.Ativo = lInfo.CodigoInstrumento; lPosicao.QuantidadeVendido = lInfo.QtdeAExecVenda; lPosicao.QuantidadeComprado = lInfo.QtdeAExecCompra; lPosicao.QuantidadeAtual = lPosicao.QuantidadeComprado - lPosicao.QuantidadeVendido; lPosicao.Serie = lInfo.CodigoSerie; lPosicao.PU = lInfo.ValorPU; lPosicao.Ajuste = lInfo.ValorFechamento; lTempRetorno.Add(lPosicao); } } lRetorno.AddRange(lTempRetorno); } return(lRetorno); }
private static void ObterPosicaoClientePosicao(ref PosicaoCliente pCliente) { AcessaDados lAcessaDados = new AcessaDados(); try { lAcessaDados.ConnectionStringName = gNomeConexaoOracle; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_POS_CLIENTE_ABERT_RISCO")) { DataTable lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand); if (null != lDataTable && lDataTable.Rows.Count > 0) { for (int i = 0; i <= lDataTable.Rows.Count - 1; i++) { string lTipoGrupo = (lDataTable.Rows[i]["Tipo_Grup"]).DBToString(); switch (lTipoGrupo) { case "ACAO": { var lPosicaoBov = new SaldoCustodiaBovespaCliente(); lPosicaoBov.Ativo = (lDataTable.Rows[i]["COD_NEG"]).DBToString(); lPosicaoBov.CodigoCarteira = (lDataTable.Rows[i]["COD_CART"]).DBToString(); lPosicaoBov.SaldoAbertura = (lDataTable.Rows[i]["QTDE_DISP"]).DBToInt32(); lPosicaoBov.SaldoD0 = (lDataTable.Rows[i]["QTDE_DISP"]).DBToInt32(); lPosicaoBov.SaldoD1 = (lDataTable.Rows[i]["QTDE_DA1"]).DBToInt32(); lPosicaoBov.SaldoD2 = (lDataTable.Rows[i]["QTDE_DA2"]).DBToInt32(); lPosicaoBov.SaldoD3 = (lDataTable.Rows[i]["QTDE_DA3"]).DBToInt32(); lPosicaoBov.SaldoTotal = lPosicaoBov.SaldoD0 + lPosicaoBov.SaldoD1 + lPosicaoBov.SaldoD2 + lPosicaoBov.SaldoD3; pCliente.SaldoCustodiaBovespaCliente.Add(lPosicaoBov); } break; case "BMF": pCliente.CodigoBmfCliente = (lDataTable.Rows[i]["Tipo_Grup"]).DBToInt32(); var lPosicaoBmf = new SaldoCustodiaBmfCliente(); lPosicaoBmf.Ativo = (lDataTable.Rows[i]["COD_COMM"].DBToString() + lDataTable.Rows[i]["COD_SERI"]).DBToString(); lPosicaoBmf.TipoMercadoria = lDataTable.Rows[i]["NOME_COMM"].DBToString(); lPosicaoBmf.Serie = lDataTable.Rows[i]["COD_SERI"].DBToString(); lPosicaoBmf.Ajuste = 0; //lDataTable.Rows[i][] lPosicaoBmf.PU = 0; lPosicaoBmf.QuantidadeAbertura = lDataTable.Rows[i]["QTDE_DISP"].DBToInt32(); lPosicaoBmf.QuantidadeAtual = lDataTable.Rows[i]["QTDE_DISP"].DBToInt32(); pCliente.SaldoCustodiaBmfCliente.Add(lPosicaoBmf); break; case "TEDI": break; } } } } } catch (Exception ex) { throw (ex); } }