public static void Main() { int flag = 1; int x = 0; int y = 0; Poupanca[] poup = new Poupanca[100]; RendaFixa[] inv = new RendaFixa[100]; AcumulaRendas cum = new AcumulaRendas(); while (flag != 1) { System.Console.WriteLine("Digite o tipo da conta"); System.Console.WriteLine("1 - Poupança"); System.Console.WriteLine("2 - Renda Fixa"); int tipo = Convert.ToInt32(System.Console.ReadLine()); System.Console.WriteLine("CPF?"); string cpf = System.Console.ReadLine(); System.Console.WriteLine("Nome?"); string nome = System.Console.ReadLine(); System.Console.WriteLine("Saldo?"); double saldo = Convert.ToDouble(System.Console.ReadLine()); System.Console.WriteLine("Rendimento desta conta em 1 ano!"); if (tipo == 1) { poup[x] = new Poupanca(cpf, nome, saldo); poup[x].rendimento(); cum.acumula(poup[x]); x++; } else { inv[y] = new RendaFixa(cpf, nome, saldo); inv[y].rendimento(); cum.acumula(inv[y]); y++; } System.Console.WriteLine("Contas abertas:"); if (tipo == 1) { Investimento.returnNumInvest(); } else { Investimento.returnNumInvest(); } System.Console.WriteLine("Rendimento total, 1 ano:"); System.Console.WriteLine(cum.Total); System.Console.WriteLine("Para mais alguma conta, digite 1"); flag = Convert.ToInt32(System.Console.ReadLine()); } }
/// <summary>Gera posição em Renda Fixa</summary> public async Task <Consolidado> GerarPosicaoRendaFixa() { Logger.LogInformation("Iniciando geração de posição em Renda Fixa"); RendaFixa rendaFixa = null; await PositionService.ObterPosicaoRendaFixa().ContinueWith(o => rendaFixa = o.Result); return(rendaFixa.MappingRendaFixaToConsolidado()); }
/// <summary> /// Recupera o valor do resgate se for Renda Fixa /// </summary> /// <param name="renda">valor Renda Fixa</param> /// <param name="investments">Lista de Investimentos</param> public void getRendaFixaToInvestiments(RendaFixa renda, List <Investiment> investments) { foreach (var item in renda.lcis) { investments.Add(new Investiment() { nome = item.nome, valorInvestido = item.capitalInvestido, valorTotal = item.capitalAtual, vencimento = item.vencimento, Ir = getIR(item.capitalAtual, item.capitalInvestido, Aplicacao.Fundo), valorResgate = calcRescue(item.dataOperacao, item.vencimento, item.capitalInvestido) }); } }
/// <summary>Gera posição consolidada de todos os ativos</summary> public async Task <Consolidado> GerarPosicaoConsolidada() { Logger.LogInformation("Iniciando geração de posição consolidada"); TesouroDireto tesouroDireto = null; RendaFixa rendaFixa = null; Fundos fundosInvestimentos = null; await Task.WhenAll( PositionService.ObterPosicaoTesouroDireto().ContinueWith(o => tesouroDireto = o.Result), PositionService.ObterPosicaoRendaFixa().ContinueWith(o => rendaFixa = o.Result), PositionService.ObterPosicaoFundos().ContinueWith(o => fundosInvestimentos = o.Result) ); return(fundosInvestimentos.MappingPosicoesToConsolidado(tesouroDireto, rendaFixa)); }