public void trasferirAplicacoes(FundoInvestimento fi, int codigoC) { // Verificando se a moeda do fundo passado como parâmetro // é igual ao do fundo que está recebendo if (fi.getMoeda() == this.getMoeda()) { foreach (Aplicacao apli in fi.aplicacoes) { if (fi.getMoeda().Equals("Real") && apli.getCodCliente() == codigoC) { double aux = apli.getValor(); apli.setValor(aux - 10); this.novaAplicacao(apli); } else if (fi.getMoeda().Equals("Dolar") && apli.getCodCliente() == codigoC) { this.novaAplicacao(apli); } } //Limpando a lista de aplicações do FI passado por parâmetro fi.aplicacoes.Clear(); } }
public static void lerArquivo(List<Cliente> clientes) { try { if (File.Exists("../../clientes.txt")) { Stream arqDados = File.Open("../../clientes.txt", FileMode.Open); StreamReader leitor = new StreamReader(arqDados); String linha = leitor.ReadLine(); String[] separador; Cliente clientePadrao; FundoInvestimento novoFundo = null; List<Aplicacao> aplicacoes = new List<Aplicacao>(); List<FundoInvestimento> fundoInvestimento = new List<FundoInvestimento>(); Real real = new Real(2, "real", "R$"); Dolar dolar = new Dolar(3, "dolar", "U$"); Aplicacao.lerArquivo(aplicacoes); FundoInvestimento.lerArquivo(fundoInvestimento, dolar, real); bool verifica = false; while (linha != null) { separador = linha.Split(';'); clientePadrao = new Cliente(clientes.Count(), separador[1], separador[2], separador[3], Convert.ToDouble(separador[4]), separador[5],DateTime.Parse(separador[6])); for (int i=0;i< Aplicacao.buscaAplicacaoCliente(aplicacoes, clientePadrao.codCliente).Count();i++) { for (int j=0;j<fundoInvestimento.Count();j++) { if (Aplicacao.buscaAplicacaoCliente(aplicacoes, clientePadrao.codCliente)[i].getCodInvestimento().Equals(fundoInvestimento[j].getCodInvestimento())) { if (fundoInvestimento[j].getMoeda().getNomeMoeda().Equals("real")){ novoFundo = new FundoInvestimento(fundoInvestimento[j].getCodInvestimento() - 1, fundoInvestimento[j].getNome(), real); } else { novoFundo = new FundoInvestimento(fundoInvestimento[j].getCodInvestimento() - 1, fundoInvestimento[j].getNome(), dolar); } } for(int k=0;k<clientePadrao.fundoInvestimento.Count();k++) { if (clientePadrao.fundoInvestimento[k].getCodInvestimento().Equals(Aplicacao.buscaAplicacaoCliente(aplicacoes, clientePadrao.codCliente)[i].getCodInvestimento())) { verifica = true; } } if (verifica) { //dando problema aqui FundoInvestimento.buscaFundo(clientePadrao.fundoInvestimento, Aplicacao.buscaAplicacaoCliente(aplicacoes, clientePadrao.codCliente)[i].getCodInvestimento()).buscaAplicacao().Add(Aplicacao.buscaAplicacaoCliente(aplicacoes, clientePadrao.codCliente)[j]); } else { novoFundo.buscaAplicacao().Add(Aplicacao.buscaAplicacaoCliente(aplicacoes, clientePadrao.codCliente)[i]); clientePadrao.fundoInvestimento.Add(novoFundo); } } } linha = leitor.ReadLine(); clientes.Add(clientePadrao); verifica = false; } leitor.Close(); arqDados.Close(); } }catch(IOException io){ Console.WriteLine("\nOcorreu um erro: {0}", io); } }
static void Main(string[] args) { int opcao = 0; List<Cliente> clientes = new List<Cliente>(100); Random randNum = new Random(); int codCliente = 1; //criando os fundos de investimento FundoInvestimento fundo1 = new FundoInvestimento(); fundo1.setNome("Bolsa de Valores de São Paulo"); fundo1.setCodigo(1); fundo1.setSigla("BOVESPA"); fundo1.setMoeda("Real"); FundoInvestimento fundo2 = new FundoInvestimento(); fundo2.setNome("Bolsa de Mercadorias e Futuros"); fundo2.setCodigo(2); fundo2.setSigla("BM&F"); fundo2.setMoeda("Real"); FundoInvestimento fundo3 = new FundoInvestimento(); fundo3.setNome("NASDAQ Stock Market"); fundo3.setCodigo(3); fundo3.setSigla("NASDAQ"); fundo3.setMoeda("Dolar"); FundoInvestimento fundo4 = new FundoInvestimento(); fundo4.setNome("Bolsa de Valores de Nova York"); fundo4.setCodigo(4); fundo4.setSigla("NYSE"); fundo4.setMoeda("Dolar"); while (opcao >= 0) { Console.WriteLine("----------------------------------------------------------------------"); Console.WriteLine("1 - Cadastrar Cliente"); Console.WriteLine("2 - Fazer Aplicaçao"); Console.WriteLine("3 - Fazer Resgate"); Console.WriteLine("4 - Trasferir aplicãções de um fundo para outro"); Console.WriteLine("5 - Gerar relatório mensal de aplicações (Empresa)"); Console.WriteLine("6 - Gerar relatório de aplicações (Cliente)"); Console.WriteLine("7 - Aplicar Remuneração"); Console.WriteLine("-1 - Sair"); Console.WriteLine("----------------------------------------------------------------------"); Console.Write("Digite a opção desejada: "); opcao = int.Parse(Console.ReadLine()); Console.WriteLine(); // OPÇÃO 1 if (opcao == 1) { //criar um cliente Console.WriteLine("1 - Pessoa Física, 2 - Pessoa Jurídica"); Console.Write("Digite a opção desejada: "); int tipoCliente = int.Parse(Console.ReadLine()); if (tipoCliente == 1) { Cliente_Fisico cli = new Cliente_Fisico(); cli.setCodigo(codCliente++); Console.Write("Nome do cliente: "); cli.setNome(Console.ReadLine()); Console.Write("CPF do cliente: "); cli.setCPF(Console.ReadLine()); Console.Write("Número do cliente: "); cli.setNumero(Console.ReadLine()); Console.Write("Endereço do cliente: "); cli.setEndereco(Console.ReadLine()); clientes.Add(cli); Console.WriteLine("Código do cliente: {0} ", cli.getCodigo()); } else if (tipoCliente == 2) { Cliente_Juridico cli = new Cliente_Juridico(); cli.setCodigo(randNum.Next(100)); Console.WriteLine("Nome da Empresa: "); cli.setNome(Console.ReadLine()); Console.WriteLine("CPF do cliente: "); cli.setCNPJ(Console.ReadLine()); Console.WriteLine("Número do cliente: "); cli.setNumero(Console.ReadLine()); Console.WriteLine("Endereço do cliente: "); cli.setEndereco(Console.ReadLine()); clientes.Add(cli); } else { Console.WriteLine("Opção Inválida"); } } // OPÇÃO 2 if (opcao == 2) { //fazer uma aplicacao Aplicacao apl1 = new Aplicacao(); Console.WriteLine("Código do cliente: "); apl1.setCodCliente(int.Parse(Console.ReadLine())); Console.WriteLine("Valor da Aplicação: "); apl1.setValor(double.Parse(Console.ReadLine())); Console.WriteLine("Informe a data de hoje (DIA/MÊS/ANO): "); apl1.setDataAplicacao(Convert.ToDateTime(Console.ReadLine())); Console.Clear(); Console.WriteLine("Informe qual Fundo de investimento você deseja inserir essa aplicação: "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); int fundoE = int.Parse(Console.ReadLine()); if (fundoE == 1) { fundo1.novaAplicacao(apl1); } else if (fundoE == 2) { fundo2.novaAplicacao(apl1); } else if (fundoE == 3) { fundo3.novaAplicacao(apl1); } else if (fundoE == 4) { fundo4.novaAplicacao(apl1); } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 3 if (opcao == 3) { //fazer o resgate Console.WriteLine("Valor do resgate: "); float valor = float.Parse(Console.ReadLine()); Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); Console.WriteLine(); Console.WriteLine("Informe qual Fundo de investimento você deseja fazer o resgate: "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); int fundoE = int.Parse(Console.ReadLine()); if (fundoE == 1) { fundo1.resgate(valor, cod); } else if (fundoE == 2) { fundo2.resgate(valor, cod); } else if (fundoE == 3) { fundo3.resgate(valor, cod); } else if (fundoE == 4) { fundo4.resgate(valor, cod); } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 4 if (opcao == 4) { Console.WriteLine("Informe qual Fundo de investimento vai receber a(s) aplicação(ões): "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoA = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoA == 1) { Console.WriteLine("Informe qual Fundo de investimento vai perder a(s) aplicação(ões): "); Console.WriteLine("2 - BM&F, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoB = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoB == 2) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo1.trasferirAplicacoes(fundo2, cod); } else if (fundoB == 3) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo1.trasferirAplicacoes(fundo3, cod); } else if (fundoB == 4) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo1.trasferirAplicacoes(fundo4, cod); } else { Console.WriteLine("Opção inválida!"); } } else if (fundoA == 2) { Console.WriteLine("Informe qual Fundo de investimento vai perder a(s) aplicação(ões): "); Console.WriteLine("1 - BOVESPA, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoB = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoB == 1) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo2.trasferirAplicacoes(fundo1, cod); } else if (fundoB == 3) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo2.trasferirAplicacoes(fundo3, cod); } else if (fundoB == 4) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo2.trasferirAplicacoes(fundo4, cod); } else { Console.WriteLine("Opção inválida!"); } } else if (fundoA == 3) { Console.WriteLine("Informe qual Fundo de investimento vai perder a(s) aplicação(ões): "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoB = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoB == 1) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo3.trasferirAplicacoes(fundo1, cod); } else if (fundoB == 2) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo3.trasferirAplicacoes(fundo2, cod); } else if (fundoB == 4) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo3.trasferirAplicacoes(fundo4, cod); } else { Console.WriteLine("Opção inválida!"); } } else if (fundoA == 4) { Console.WriteLine("Informe qual Fundo de investimento vai perder a(s) aplicação(ões): "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ"); Console.Write("Digite a opção desejada: "); int fundoB = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoB == 1) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo4.trasferirAplicacoes(fundo1, cod); } else if (fundoB == 2) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo4.trasferirAplicacoes(fundo2, cod); } else if (fundoB == 3) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo4.trasferirAplicacoes(fundo3, cod); } else { Console.WriteLine("Opção inválida!"); } } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 5 if (opcao == 5) { Console.WriteLine("Informe qual Fundo de investimento você deseja gerar o relatório: "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoE = int.Parse(Console.ReadLine()); if (fundoE == 1) { fundo1.relatorioAplicacoes(); } else if (fundoE == 2) { fundo2.relatorioAplicacoes(); } else if (fundoE == 3) { fundo3.relatorioAplicacoes(); } else if (fundoE == 4) { fundo4.relatorioAplicacoes(); } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 6 if (opcao == 6) { Console.WriteLine("Informe qual Fundo de investimento você deseja gerar o relatório: "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoE = int.Parse(Console.ReadLine()); if (fundoE == 1) { Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); foreach (Cliente c in clientes) { if (c.getCodigo() == cod) { Console.WriteLine("Nome: {0}", c.getNome()); } } fundo1.relatorioPorCliente(cod); } else if (fundoE == 2) { Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); foreach (Cliente c in clientes) { if (c.getCodigo() == cod) { Console.WriteLine("Nome: {0}", c.getNome()); } } fundo2.relatorioPorCliente(cod); } else if (fundoE == 3) { Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); foreach (Cliente c in clientes) { if (c.getCodigo() == cod) { Console.WriteLine("Nome: {0}", c.getNome()); } } fundo3.relatorioPorCliente(cod); } else if (fundoE == 4) { Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); foreach (Cliente c in clientes) { if (c.getCodigo() == cod) { Console.WriteLine("Nome: {0}", c.getNome()); } } fundo4.relatorioPorCliente(cod); } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 7 if (opcao == 7) { fundo1.calculaRemuneracao(); fundo2.calculaRemuneracao(); fundo3.calculaRemuneracao(); fundo4.calculaRemuneracao(); Console.WriteLine("Remunerações realizadas com sucesso!"); Console.Clear(); } } }
public Resgate(FundoInvestimento fundoInvestimento, Aplicacao aplicacao) { this.fundoInvestimento = fundoInvestimento; this.aplicacao = aplicacao; this.dataResgate = DateTime.Now; }
public static void lerArquivo(List<FundoInvestimento> fundoInvestimento, Moeda dolar, Moeda real) { try { if (File.Exists("../../fundos.txt")) { Stream arqDados = File.Open("../../fundos.txt", FileMode.Open); StreamReader leitor = new StreamReader(arqDados); String linha = leitor.ReadLine(); String[] separador; FundoInvestimento fundoPadrao; while (linha != null) { separador = linha.Split(';'); if (separador[2] == "real") { fundoPadrao = new FundoInvestimento(fundoInvestimento.Count(), separador[1], real); } else { fundoPadrao = new FundoInvestimento(fundoInvestimento.Count(), separador[1], dolar); } linha = leitor.ReadLine(); fundoInvestimento.Add(fundoPadrao); } leitor.Close(); arqDados.Close(); } } catch (IOException io) { Console.WriteLine("\nOcorreu um erro: {0}", io); } }
static void Main(string[] args) { int opcao = 0; List <Cliente> clientes = new List <Cliente>(100); Random randNum = new Random(); int codCliente = 1; //criando os fundos de investimento FundoInvestimento fundo1 = new FundoInvestimento(); fundo1.setNome("Bolsa de Valores de São Paulo"); fundo1.setCodigo(1); fundo1.setSigla("BOVESPA"); fundo1.setMoeda("Real"); FundoInvestimento fundo2 = new FundoInvestimento(); fundo2.setNome("Bolsa de Mercadorias e Futuros"); fundo2.setCodigo(2); fundo2.setSigla("BM&F"); fundo2.setMoeda("Real"); FundoInvestimento fundo3 = new FundoInvestimento(); fundo3.setNome("NASDAQ Stock Market"); fundo3.setCodigo(3); fundo3.setSigla("NASDAQ"); fundo3.setMoeda("Dolar"); FundoInvestimento fundo4 = new FundoInvestimento(); fundo4.setNome("Bolsa de Valores de Nova York"); fundo4.setCodigo(4); fundo4.setSigla("NYSE"); fundo4.setMoeda("Dolar"); while (opcao >= 0) { Console.WriteLine("----------------------------------------------------------------------"); Console.WriteLine("1 - Cadastrar Cliente"); Console.WriteLine("2 - Fazer Aplicaçao"); Console.WriteLine("3 - Fazer Resgate"); Console.WriteLine("4 - Trasferir aplicãções de um fundo para outro"); Console.WriteLine("5 - Gerar relatório mensal de aplicações (Empresa)"); Console.WriteLine("6 - Gerar relatório de aplicações (Cliente)"); Console.WriteLine("7 - Aplicar Remuneração"); Console.WriteLine("-1 - Sair"); Console.WriteLine("----------------------------------------------------------------------"); Console.Write("Digite a opção desejada: "); opcao = int.Parse(Console.ReadLine()); Console.WriteLine(); // OPÇÃO 1 if (opcao == 1) { //criar um cliente Console.WriteLine("1 - Pessoa Física, 2 - Pessoa Jurídica"); Console.Write("Digite a opção desejada: "); int tipoCliente = int.Parse(Console.ReadLine()); if (tipoCliente == 1) { Cliente_Fisico cli = new Cliente_Fisico(); cli.setCodigo(codCliente++); Console.Write("Nome do cliente: "); cli.setNome(Console.ReadLine()); Console.Write("CPF do cliente: "); cli.setCPF(Console.ReadLine()); Console.Write("Número do cliente: "); cli.setNumero(Console.ReadLine()); Console.Write("Endereço do cliente: "); cli.setEndereco(Console.ReadLine()); clientes.Add(cli); Console.WriteLine("Código do cliente: {0} ", cli.getCodigo()); } else if (tipoCliente == 2) { Cliente_Juridico cli = new Cliente_Juridico(); cli.setCodigo(randNum.Next(100)); Console.WriteLine("Nome da Empresa: "); cli.setNome(Console.ReadLine()); Console.WriteLine("CPF do cliente: "); cli.setCNPJ(Console.ReadLine()); Console.WriteLine("Número do cliente: "); cli.setNumero(Console.ReadLine()); Console.WriteLine("Endereço do cliente: "); cli.setEndereco(Console.ReadLine()); clientes.Add(cli); } else { Console.WriteLine("Opção Inválida"); } } // OPÇÃO 2 if (opcao == 2) { //fazer uma aplicacao Aplicacao apl1 = new Aplicacao(); Console.WriteLine("Código do cliente: "); apl1.setCodCliente(int.Parse(Console.ReadLine())); Console.WriteLine("Valor da Aplicação: "); apl1.setValor(double.Parse(Console.ReadLine())); Console.WriteLine("Informe a data de hoje (DIA/MÊS/ANO): "); apl1.setDataAplicacao(Convert.ToDateTime(Console.ReadLine())); Console.Clear(); Console.WriteLine("Informe qual Fundo de investimento você deseja inserir essa aplicação: "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); int fundoE = int.Parse(Console.ReadLine()); if (fundoE == 1) { fundo1.novaAplicacao(apl1); } else if (fundoE == 2) { fundo2.novaAplicacao(apl1); } else if (fundoE == 3) { fundo3.novaAplicacao(apl1); } else if (fundoE == 4) { fundo4.novaAplicacao(apl1); } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 3 if (opcao == 3) { //fazer o resgate Console.WriteLine("Valor do resgate: "); float valor = float.Parse(Console.ReadLine()); Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); Console.WriteLine(); Console.WriteLine("Informe qual Fundo de investimento você deseja fazer o resgate: "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); int fundoE = int.Parse(Console.ReadLine()); if (fundoE == 1) { fundo1.resgate(valor, cod); } else if (fundoE == 2) { fundo2.resgate(valor, cod); } else if (fundoE == 3) { fundo3.resgate(valor, cod); } else if (fundoE == 4) { fundo4.resgate(valor, cod); } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 4 if (opcao == 4) { Console.WriteLine("Informe qual Fundo de investimento vai receber a(s) aplicação(ões): "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoA = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoA == 1) { Console.WriteLine("Informe qual Fundo de investimento vai perder a(s) aplicação(ões): "); Console.WriteLine("2 - BM&F, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoB = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoB == 2) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo1.trasferirAplicacoes(fundo2, cod); } else if (fundoB == 3) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo1.trasferirAplicacoes(fundo3, cod); } else if (fundoB == 4) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo1.trasferirAplicacoes(fundo4, cod); } else { Console.WriteLine("Opção inválida!"); } } else if (fundoA == 2) { Console.WriteLine("Informe qual Fundo de investimento vai perder a(s) aplicação(ões): "); Console.WriteLine("1 - BOVESPA, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoB = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoB == 1) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo2.trasferirAplicacoes(fundo1, cod); } else if (fundoB == 3) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo2.trasferirAplicacoes(fundo3, cod); } else if (fundoB == 4) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo2.trasferirAplicacoes(fundo4, cod); } else { Console.WriteLine("Opção inválida!"); } } else if (fundoA == 3) { Console.WriteLine("Informe qual Fundo de investimento vai perder a(s) aplicação(ões): "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoB = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoB == 1) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo3.trasferirAplicacoes(fundo1, cod); } else if (fundoB == 2) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo3.trasferirAplicacoes(fundo2, cod); } else if (fundoB == 4) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo3.trasferirAplicacoes(fundo4, cod); } else { Console.WriteLine("Opção inválida!"); } } else if (fundoA == 4) { Console.WriteLine("Informe qual Fundo de investimento vai perder a(s) aplicação(ões): "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ"); Console.Write("Digite a opção desejada: "); int fundoB = int.Parse(Console.ReadLine()); Console.Clear(); if (fundoB == 1) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo4.trasferirAplicacoes(fundo1, cod); } else if (fundoB == 2) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo4.trasferirAplicacoes(fundo2, cod); } else if (fundoB == 3) { Console.Write("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); fundo4.trasferirAplicacoes(fundo3, cod); } else { Console.WriteLine("Opção inválida!"); } } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 5 if (opcao == 5) { Console.WriteLine("Informe qual Fundo de investimento você deseja gerar o relatório: "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoE = int.Parse(Console.ReadLine()); if (fundoE == 1) { fundo1.relatorioAplicacoes(); } else if (fundoE == 2) { fundo2.relatorioAplicacoes(); } else if (fundoE == 3) { fundo3.relatorioAplicacoes(); } else if (fundoE == 4) { fundo4.relatorioAplicacoes(); } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 6 if (opcao == 6) { Console.WriteLine("Informe qual Fundo de investimento você deseja gerar o relatório: "); Console.WriteLine("1 - BOVESPA, 2 - BM&F, 3 - NASDAQ, 4 - NYSE"); Console.Write("Digite a opção desejada: "); int fundoE = int.Parse(Console.ReadLine()); if (fundoE == 1) { Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); foreach (Cliente c in clientes) { if (c.getCodigo() == cod) { Console.WriteLine("Nome: {0}", c.getNome()); } } fundo1.relatorioPorCliente(cod); } else if (fundoE == 2) { Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); foreach (Cliente c in clientes) { if (c.getCodigo() == cod) { Console.WriteLine("Nome: {0}", c.getNome()); } } fundo2.relatorioPorCliente(cod); } else if (fundoE == 3) { Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); foreach (Cliente c in clientes) { if (c.getCodigo() == cod) { Console.WriteLine("Nome: {0}", c.getNome()); } } fundo3.relatorioPorCliente(cod); } else if (fundoE == 4) { Console.WriteLine("Código do cliente: "); int cod = int.Parse(Console.ReadLine()); foreach (Cliente c in clientes) { if (c.getCodigo() == cod) { Console.WriteLine("Nome: {0}", c.getNome()); } } fundo4.relatorioPorCliente(cod); } else { Console.WriteLine("Opção inválida!"); } Console.Clear(); } // OPÇÃO 7 if (opcao == 7) { fundo1.calculaRemuneracao(); fundo2.calculaRemuneracao(); fundo3.calculaRemuneracao(); fundo4.calculaRemuneracao(); Console.WriteLine("Remunerações realizadas com sucesso!"); Console.Clear(); } } }
static void Main(string[] args) { List<Cliente> clientes = new List<Cliente>(); List<Moeda> moedas = new List<Moeda>(); List<FundoInvestimento> fundoInvestimento = new List<FundoInvestimento>(); List<Aplicacao> aplicacoes = new List<Aplicacao>(); Real real = new Real(2, "real", "R$"); Dolar dolar = new Dolar(3, "dolar", "U$"); moedas.Add(real); moedas.Add(dolar); FundoInvestimento.lerArquivo(fundoInvestimento, moedas[0], moedas[1]); Cliente.lerArquivo(clientes); Aplicacao aplicacao = null; Cliente clientePadrao = null; FundoInvestimento novo = null; int opcao = -1, opcaoBanco = -1, opcaoCliente = -1; String nome, senha, endereco, telefone, senhaBanco; double cpf, cpfCliente = 0; bool verifica = true; String tempCpf = ""; String senhaCliente = ""; Console.WriteLine("Por favor, selecione a opção:"); Console.WriteLine("1 - Banco."); Console.WriteLine("2 - Cliente."); opcao = int.Parse(Console.ReadLine()); while (opcao == 1 || opcao == 2) { if (opcao == 1) { //verifica = true; Console.WriteLine("Por favor, digite sua senha: "); senhaBanco = Console.ReadLine(); if(senhaBanco.Equals("root")) { Console.WriteLine("1 - Cadastrar clientes."); Console.WriteLine("2 - Remover cliente."); Console.WriteLine("3 - Cadastrar fundos de investimento."); Console.WriteLine("4 - Remover fundos de investimento."); Console.WriteLine("5 - Realizar Aplicação."); opcaoBanco = int.Parse(Console.ReadLine()); while (opcaoBanco == 1 || opcaoBanco == 2 || opcaoBanco == 3 || opcaoBanco == 4) { if (opcaoBanco == 1) { for (int i = 0; i < 0; i++) { Console.WriteLine("Digite o nome do {0}º cliente:", i + 1); nome = Console.ReadLine(); Console.WriteLine("Digite a senha do {0}º cliente:", i + 1); senha = Console.ReadLine(); Console.WriteLine("Digite o endereço completo do {0}º cliente:", i + 1); endereco = Console.ReadLine(); Console.WriteLine("Digite o CPF do {0}º cliente:", i + 1); cpf = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Digite o telefone do {0}º cliente: ", i + 1); telefone = Console.ReadLine(); clientePadrao = new Cliente(clientes.Count(), nome, senha, endereco, cpf, telefone, DateTime.Now); clientes.Add(clientePadrao); } Console.WriteLine("1 - Cadastrar clientes."); Console.WriteLine("2 - Remover cliente."); Console.WriteLine("3 - Cadastrar fundos de investimento."); Console.WriteLine("4 - Remover fundos de investimento."); Console.WriteLine("5 - Realizar Aplicação."); opcaoBanco = int.Parse(Console.ReadLine()); } else { if (opcaoBanco == 2) { Console.WriteLine("LISTA DE CLIENTES: "); Cliente.imprimeListaCliente(clientes); Console.WriteLine("Por favor, digite o código do cliente a ser removido: "); int codCliente = int.Parse(Console.ReadLine()); while (Cliente.buscaCliente(clientes, codCliente) == null) { Console.WriteLine("Cliente não existe! Favor inserir um novo código: "); codCliente = int.Parse(Console.ReadLine()); } Console.WriteLine("Tem certeza que deseja excluir esse cliente {0}?", Cliente.buscaCliente(clientes, codCliente).getNome()); Console.WriteLine("1 - Sim."); Console.WriteLine("2 - Não."); int deletaCliente = int.Parse(Console.ReadLine()); if (deletaCliente == 1) { clientes.Remove(Cliente.buscaCliente(clientes, codCliente)); } } else { if (opcaoBanco == 3) { Console.WriteLine("Digite o nome do fundo de investimento: "); String nomeInvestimento = Convert.ToString(Console.ReadLine()); Console.WriteLine("Digite a moeda do fundo de investimento: Real ou Dolar?"); String moedaInvestimento = Convert.ToString(Console.ReadLine()); if (moedaInvestimento.ToLower().Equals("real")) { novo = new FundoInvestimento(fundoInvestimento.Count(), nomeInvestimento, real); } else { if (moedaInvestimento.ToLower().Equals("dolar")) { novo = new FundoInvestimento(fundoInvestimento.Count(), nomeInvestimento, dolar); } } fundoInvestimento.Add(novo); FundoInvestimento.escreveArquivo(fundoInvestimento); } else { if (opcaoBanco == 4) { Console.WriteLine("LISTA DE FUNDOS: "); FundoInvestimento.imprimeListaFundos(fundoInvestimento); Console.WriteLine("Por favor, digite o fundo a ser removido: "); int codFundo = int.Parse(Console.ReadLine()); while (FundoInvestimento.buscaFundo(fundoInvestimento, codFundo) == null) { Console.WriteLine("Fundo não existe! Favor inserir um novo código: "); codFundo = int.Parse(Console.ReadLine()); } Console.WriteLine("Tem certeza que deseja excluir esse fundo {0}?", FundoInvestimento.buscaFundo(fundoInvestimento, codFundo).getNome()); Console.WriteLine("1 - Sim."); Console.WriteLine("2 - Não."); int deletaFundo = int.Parse(Console.ReadLine()); if (deletaFundo == 1) { fundoInvestimento.Remove(FundoInvestimento.buscaFundo(fundoInvestimento, codFundo)); FundoInvestimento.escreveArquivo(fundoInvestimento); } } else { } } } } } Console.WriteLine("1 - Cadastrar clientes."); Console.WriteLine("2 - Remover cliente."); Console.WriteLine("3 - Cadastrar fundos de investimento."); Console.WriteLine("4 - Remover fundos de investimento."); opcaoBanco = int.Parse(Console.ReadLine()); } } else { if (opcao == 2) { if(verifica){ Console.WriteLine("Por favor, digite os dados: "); Console.WriteLine("CPF: "); tempCpf = Console.ReadLine().Replace(".", ""); tempCpf = tempCpf.Replace("-", ""); cpfCliente = Convert.ToDouble(tempCpf); } while (Cliente.buscaClienteCpf(clientes, cpfCliente) == null) { Console.WriteLine("Esse CPF {0} não existe! Favor inserir um novo CPF: ", cpfCliente); tempCpf = Console.ReadLine().Replace(".", ""); tempCpf = tempCpf.Replace("-", ""); cpfCliente = Convert.ToDouble(tempCpf); } if (verifica) { Console.WriteLine("Senha: "); senhaCliente = Convert.ToString(Console.ReadLine()); verifica = false; } while(!(senhaCliente.Equals(Cliente.buscaClienteCpf(clientes, cpfCliente).getSenha()))) { Console.WriteLine("Senha incorreta! Favor digitar a senha: "); senhaCliente = Convert.ToString(Console.ReadLine()); } if((senhaCliente.Equals(Cliente.buscaClienteCpf(clientes, cpfCliente).getSenha()))){ Console.WriteLine("1 - Realizar aplicação."); Console.WriteLine("2 - Realizar resgate."); Console.WriteLine("3 - Histórico de aplicações."); Console.WriteLine("4 - Histórico de resgates."); opcaoCliente = int.Parse(Console.ReadLine()); if(opcaoCliente == 1){ Console.WriteLine("Aplicação: "); Console.WriteLine("Por favor, digite o valor a ser aplicacado: "); float valorAplicacao = float.Parse(Console.ReadLine()); Console.WriteLine("Por favor, digite o código do Fundo de Investimento que deseja aplicar: "); FundoInvestimento.imprimeListaFundos(fundoInvestimento); int codInvestimento = int.Parse(Console.ReadLine()); while(FundoInvestimento.buscaFundo(fundoInvestimento, codInvestimento) == null){ Console.WriteLine("Fundo não existe! Favor inserir um novo código: "); codInvestimento = int.Parse(Console.ReadLine()); } aplicacao = new Aplicacao(valorAplicacao, codInvestimento, DateTime.Now, 0, Cliente.buscaClienteCpf(clientes, cpfCliente).getCodCliente()); Aplicacao.escreveArquivo(aplicacao); Console.WriteLine("{0}, tem certeza que deseja incluir essa aplicação de R${1} nesse fundo {2}?", Cliente.buscaClienteCpf(clientes, cpfCliente).getNome(), valorAplicacao, FundoInvestimento.buscaFundo(fundoInvestimento, codInvestimento).getNome()); Console.WriteLine("1 - Sim."); Console.WriteLine("2 - Não."); int incluiAplicacao = int.Parse(Console.ReadLine()); if(incluiAplicacao == 1) { Cliente.buscaClienteCpf(clientes, cpfCliente).getFundoInvestimento().Add(FundoInvestimento.buscaFundo(fundoInvestimento, codInvestimento)); FundoInvestimento.buscaFundo(Cliente.buscaClienteCpf(clientes, cpfCliente).getFundoInvestimento(), codInvestimento).buscaAplicacao().Add(aplicacao); FundoInvestimento.imprimeListaAplicacao(FundoInvestimento.buscaFundo(Cliente.buscaClienteCpf(clientes, cpfCliente).getFundoInvestimento(), codInvestimento).buscaAplicacao()); } } else if (opcaoCliente == 2) { Console.WriteLine("Resgate"); for (int i = 0; i < Cliente.buscaClienteCpf(clientes, cpfCliente).getFundoInvestimento().Count(); i++ ) { Aplicacao.imprimeListaAplicacao(Cliente.buscaClienteCpf(clientes, cpfCliente).getFundoInvestimento()[i].buscaAplicacao()); Console.WriteLine("Informe o valor que deseja resgatar:"); float valorResgate = float.Parse(Console.ReadLine()); Aplicacao.buscaAplicacaoClienteValor(Aplicacao.buscaAplicacaoCliente(aplicacoes, Cliente.buscaClienteCpf(clientes, cpfCliente).getCodCliente()), valorResgate).resgate(aplicacoes, valorResgate); } } } } } Console.WriteLine("Por favor, selecione a opção:"); Console.WriteLine("1 - Banco."); Console.WriteLine("2 - Cliente."); opcao = int.Parse(Console.ReadLine()); } Console.ReadKey(); }