private List <TransporteFaxBovespaCabecalhoGrid> PreparaDetalheResumidoVista(List <FaxBovespaDetalheInfo> pList, DateTime dtLiquidacaoVista) { var lRetorno = new List <TransporteFaxBovespaCabecalhoGrid>(); var lLista = from a in pList group a by new { a.PapelSentido, a.PapelCodigoNegocio } into g select new FaxBovespaCabecalhoGridInfo { Sentido = g.Key.PapelSentido, CodigoNegocio = g.Key.PapelCodigoNegocio, DetalhesBovespa = g.ToList(), TipoMercado = g.ToList()[0].PapelTipoMercado }; foreach (var a in lLista) { if (a.TipoMercado != "VIS" && a.TipoMercado != "TER" && a.TipoMercado != "FRA" && a.TipoMercado != "EOC" && a.TipoMercado != "EOV") { continue; } var lTrans = new TransporteFaxBovespaCabecalhoGrid(); lTrans.DetalhesBovespa = new List <TransporteFaxBovespaDetalhe>(); foreach (var b in a.DetalhesBovespa) { if (b.PapelTipoMercado != "VIS" && b.PapelTipoMercado != "TER" && b.PapelTipoMercado != "FRA" && b.PapelTipoMercado != "EOC" && b.PapelTipoMercado != "EOV") { continue; } var lDetalhe = new TransporteFaxBovespaDetalhe(); lTrans.SomaPreco = b.SomaMedio.ToString("N4"); lTrans.SomaQuantidade = b.SomaQtdeTotal.ToString(); lTrans.SomaTotal = b.SomaTotal.ToString("N2"); lDetalhe.PapelCodigoNegocio = b.PapelCodigoNegocio; lDetalhe.PapelSentido = b.PapelSentido; lDetalhe.PapelTipoMercado = b.PapelTipoMercado; lDetalhe.PapelNomeRes = b.PapelNomeRes; lDetalhe.PapelQuantidade = b.PapelQuantidade.ToString("N0"); lDetalhe.PapelPreco = b.PapelPreco.ToString("N2"); lDetalhe.PapelVolume = b.PapelTotal.ToString("N2"); lTrans.DetalhesBovespa.Add(lDetalhe); } lRetorno.Add(lTrans); } return(lRetorno); }
private List <TransporteFaxBovespaCabecalhoGrid> PreparaCabecalhoDetalheVista(List <FaxBovespaDetalheInfo> pList, DateTime dtLiquidacaoVista) { var lRetorno = new List <TransporteFaxBovespaCabecalhoGrid>(); var lLista = from a in pList group a by new { a.PapelCodigoNegocio, a.PapelTipoMercado, a.PapelSentido, a.SomaMedio, a.SomaQtdeTotal, a.SomaTotal, a.SomaTotalCorretagem, a.TotalNet, a.TotalPrecoNet } into g select new FaxBovespaCabecalhoGridInfo { CodigoNegocio = g.Key.PapelCodigoNegocio, TipoMercado = g.Key.PapelTipoMercado, Sentido = g.Key.PapelSentido, SomaPreco = g.Key.SomaMedio, SomaQuantidade = int.Parse(g.Key.SomaQtdeTotal.ToString()), SomaCorretagem = g.Key.SomaTotalCorretagem, SomaTotal = g.Key.SomaTotal, TotalNet = g.Key.TotalNet, TotalPrecoNet = g.Key.TotalPrecoNet, DetalhesBovespa = g.ToList() }; var lTrans = new TransporteFaxBovespaCabecalhoGrid(); foreach (var a in lLista) { if (a.TipoMercado != "VIS" && a.TipoMercado != "TER" && a.TipoMercado != "FRA" && a.TipoMercado != "EOC" && a.TipoMercado != "EOV") { continue; } lTrans = new TransporteFaxBovespaCabecalhoGrid(); lTrans.NomeRes = a.NomeRes; lTrans.CodigoIsin = a.CodigoIsin; lTrans.CodigoNegocio = a.CodigoNegocio; lTrans.SomaCorretagem = a.SomaCorretagem.ToString("N2"); lTrans.SomaPreco = a.SomaPreco.ToString("N4"); lTrans.SomaQuantidade = a.SomaQuantidade.ToString("N0"); lTrans.SomaTotal = a.SomaTotal.ToString("N2"); lTrans.TipoMercado = a.TipoMercado.ToString(); lTrans.Sentido = a.Sentido; lTrans.TotalNet = a.TotalNet.ToString("N2"); lTrans.TotalPrecoNet = a.TotalPrecoNet.ToString("N4"); lTrans.DataLiquidacao = dtLiquidacaoVista.ToString("dd/MM/yyyy"); lTrans.DetalhesBovespa = new List <TransporteFaxBovespaDetalhe>(); foreach (var b in a.DetalhesBovespa) { if (b.PapelTipoMercado != "VIS" && b.PapelTipoMercado != "TER" && b.PapelTipoMercado != "FRA" && b.PapelTipoMercado != "EOC" && b.PapelTipoMercado != "EOV") { continue; } TransporteFaxBovespaDetalhe lDetalhe = new TransporteFaxBovespaDetalhe(); lTrans.CodigoIsin = b.PapelCodigoIsin; lTrans.NomeRes = b.PapelNomeRes; lDetalhe.PapelCodigoNegocio = b.PapelCodigoNegocio; lDetalhe.PapelCorretagem = b.PapelCorretagem.ToString("N4"); lDetalhe.PapelQuantidade = b.PapelQuantidade.ToString("N0"); lDetalhe.PapelPreco = b.PapelPreco.ToString("N2"); lDetalhe.PapelSentido = b.PapelSentido.ToString(); lDetalhe.PapelTotal = b.PapelTotal.ToString("N2"); lDetalhe.PapelTipoMercado = b.PapelTipoMercado; lDetalhe.PapelNomeRes = b.PapelNomeRes; lDetalhe.SomaTotal = b.SomaTotal.ToString("N2"); lTrans.DetalhesBovespa.Add(lDetalhe); } lRetorno.Add(lTrans); } return(lRetorno); }