//Metodo para fazer aplicação public void Aplicar(Aplicacao nova_aplicacao) { // criando a lista aqui, toda vez que for adicionar um fundo, se cria uma nova lista lista_aplicacoes.Add(nova_aplicacao); Atualiza_arq_aplicacoes(); Console.WriteLine("Aplicação realizada com sucesso ! Cod: "+nova_aplicacao.getCod_aplicacao()); }
public override double desconto_resgate(Aplicacao aplicacao) { double valor_resgate; valor_resgate = aplicacao.getValor_aplicacao() - ((aplicacao.getValor_aplicacao() * 1) / 100); Console.WriteLine("classe Dolar!"); return valor_resgate; }
//usar esse método para o dolar public virtual double desconto_resgate(Aplicacao aplicacao) { double valor_resgate; valor_resgate = aplicacao.getValor_aplicacao(); Console.WriteLine("Aqui é o pai dele"); return valor_resgate; }
public virtual double calculaRendimento(Aplicacao a) { int anos = 0; TimeSpan dif = DateTime.Now.Subtract(a.getDataAplicacao()); anos = dif.Days / 365; if(anos > 1) { a.setRendimento(a.getValorAplicacao() * 0.05); } return a.getRendimento(); }
public void Aplicar(double valor, int codCliente,GerenciadorCliente a) { Cliente aux = new Cliente(); aux = a.buscaCliente(codCliente); Aplicacao nova = new Aplicacao(); nova.setCliente(a.buscaCliente(codCliente)); nova.setValorAplicacao(valor); nova.setDataAplicao(DateTime.Now); nova.setRendimento(0); this.aplicacoes.Add(nova); aux.setTodasAplicacoes(nova); }
public void relatorioCliente(Cliente c) { Aplicacao aux; foreach (Aplicacao item in c.getTodasAplicacoes()) { aux = new Aplicacao(); aux = item; Console.WriteLine("O Cliente: {0} , possui o seguinte investimento R$: {1} na data: {2}", aux.getCliente().getnome(), aux.getValorAplicacao(), aux.getDataAplicacao()); } }
//Metodo para ler o arquivo de aplicações public void Aplicações_arq() { using (StreamReader reader = new StreamReader(@"../../Arq_Aplicacoes.txt")) { try { string linha; String[] Separador; linha = reader.ReadLine(); int cod_aplicacao = 0; double valor_aplicacao =0; DateTime data_aplicacao; Cliente dados_cli = new Cliente(0,0,""); Fundo_de_investimento fundo = new Fundo_de_investimento(0,"","",0); // Ler linha por linha e Adiciona na lista de clientes while (linha != null) { Separador = linha.Split(new char[] { ';' }); cod_aplicacao = int.Parse(Separador[0]); valor_aplicacao = double.Parse(Separador[1]); data_aplicacao = Convert.ToDateTime(Separador[2]); linha = reader.ReadLine(); Aplicacao nova_aplicacao = new Aplicacao(valor_aplicacao, data_aplicacao, cod_aplicacao); //atribuindo os dados do cliente a aplicação nova_aplicacao.dados_cli = new Cliente(int.Parse(Separador[3]), int.Parse(Separador[4]), Separador[5]); //atribuindo os dados do fundo a aplicação nova_aplicacao.fundo = new Fundo_de_investimento(int.Parse(Separador[6]), Separador[7], Separador[8], int.Parse(Separador[9])); lista_aplicacoes.Add(nova_aplicacao); } reader.Close(); } catch (IOException) { Console.WriteLine("Erro ao adicionar na lista"); } } }
public static void escreveArquivo(Aplicacao aplicacao) { try { FileStream arqDados = new FileStream("../../aplicacao.txt", FileMode.Append, FileAccess.Write); StreamWriter escritor = new StreamWriter(arqDados, Encoding.UTF8); escritor.WriteLine(aplicacao.valorAplicacao + ";" + aplicacao.codInvestimento + ";" + aplicacao.dataAplicacao.ToShortDateString() + ";" + aplicacao.rendimento + ";" + aplicacao.codCliente); escritor.Close(); arqDados.Close(); } catch (IOException io) { Console.WriteLine("\nOcorreu um erro: {0}", io); } }
//Ajustar relatórios de aplicações por cliente case 4!!!!!!!!!!!! static void Main(string[] args) { Lista_fundos chamar_fundo = new Lista_fundos(); Lista_clientes chamar_cli = new Lista_clientes(); Lista_aplicacoes chamar_investimentos = new Lista_aplicacoes(); Lista_user chamar_user = new Lista_user(); chamar_user.carrega_user(); chamar_fundo.FundosCadastrados(); chamar_cli.ClientesCadastrados(); chamar_investimentos.Aplicações_arq(); int opcao1 = -1, opcao0 = -1; while (opcao0 != 0) { Console.WriteLine("Para acesso ADM,..................digite 1"); Console.WriteLine("Para acesso de cliente,...........digite 2"); //não deu tempo Console.WriteLine("Para cadastrar novo usuário ADM...digite 3"); Console.WriteLine("Para sair,........................digite 0"); opcao0 = Convert.ToInt32(Console.ReadLine()); switch (opcao0) { case 1: /* Console.WriteLine("Informe usuário:"); string use = Console.ReadLine(); Console.WriteLine("Informe a senha: "); int sen = int.Parse(Console.ReadLine()); if (chamar_user.Buscar_usuario(use, sen) != null) { */ while (opcao1 != 0) { Console.WriteLine("Para cadastrar novo fundo de investimentos,......digite 1"); Console.WriteLine("Para buscar fundo de investimento,.............. digite 2"); Console.WriteLine("Para gerar relatório de aplicações por mês,......digite 3"); Console.WriteLine("Para gerar relatório de aplicações por cliente,..digite 4"); Console.WriteLine("Para cadastrar novo cliente,.....................digite 5"); Console.WriteLine("Para buscar cliente,.............................digite 6"); Console.WriteLine("Para excluir cliente,............................digite 7"); Console.WriteLine("Para excluir fundo,..............................digite 8"); Console.WriteLine("Para sair,.......................................digite 0"); opcao1 = Convert.ToInt32(Console.ReadLine()); switch (opcao1) { case 1: int codigo_fundo; string nome_fundo; string sigla_fundo; if (chamar_fundo.contaFundos() == 0) { codigo_fundo = 01; } else { codigo_fundo = chamar_fundo.contaFundos(); } int opcaomoeda; Console.WriteLine("Escolha o tipo de moeda para este fundo!"); Console.WriteLine("Digite 1, para Real"); Console.WriteLine("Digite 2, para Dolar"); opcaomoeda = int.Parse(Console.ReadLine()); Console.WriteLine("Digite o nome do fundo de investimento a cadastrar: "); nome_fundo = Console.ReadLine(); Console.WriteLine("Digite a sigla do fundo de investimento: "); sigla_fundo = Console.ReadLine(); Fundo_de_investimento novo_fundo = new Fundo_de_investimento(codigo_fundo, nome_fundo, sigla_fundo, opcaomoeda); Console.WriteLine("Codigo do fundo: " + codigo_fundo); chamar_fundo.Cadatrar_fundo(novo_fundo); //carregar arquivo de fundos em uma lista //atualizar a lista e gravar a mesma novamente em arquivo; //vai ter um arquivo para - fundos_completos, fundos, clientes //para buscar carregar do arquivo para a lista e depois fazer a busca na lista break; case 2: int codigo; Console.WriteLine("Digite o codigo do fundo de investimento: "); codigo = Convert.ToInt32(Console.ReadLine()); if (chamar_fundo.Busca_fundo(codigo) == null) { Console.WriteLine("Não foi possível encontrar o fundo, verifique o codigo!"); } else { Console.WriteLine("Nome: " + chamar_fundo.Busca_fundo(codigo).getNome_fundo() + "- " + chamar_fundo.Busca_fundo(codigo).getSigla_fundo()); } break; case 3: Console.WriteLine("codigo do Fundo_de_investimento"); int cod1 = int.Parse(Console.ReadLine()); if (chamar_fundo.Validar_fundo(cod1) != null) { chamar_investimentos.Relatorio_mensal(cod1); } else { Console.WriteLine("Código inválido"); } break; case 4: Console.Write("Digite o cpf do cliente: "); int cpf_cli = int.Parse(Console.ReadLine()); if (chamar_cli.Busca_cliente(cpf_cli) != null) { Console.WriteLine(""); Console.WriteLine("Cliente: " + chamar_cli.Busca_cliente(cpf_cli).getCodigo_cliente() + "- " + chamar_cli.Busca_cliente(cpf_cli).getNome_cliente()); Console.WriteLine(" "); Console.WriteLine("para escolher fundo, digite.....1"); Console.WriteLine("Para imprimir todos,............2"); int escolha = int.Parse(Console.ReadLine()); if (escolha == 1) { Console.WriteLine("digite o código do fundo"); int cod_fun = int.Parse(Console.ReadLine()); if (chamar_fundo.Validar_fundo(cod_fun) != null) { Console.WriteLine("Para exibir na tela......digite 1"); Console.WriteLine("Para gerar relatório.....digite 2"); int escolha1 = int.Parse(Console.ReadLine()); if (escolha1 == 1) { chamar_investimentos.Buscar_aplicacao_Cliente(cpf_cli, cod_fun); } else { if (escolha1 == 2) { //chamar método de gerar arquivo chamar_investimentos.Gerar_relatorio_por_cliente_e_fundo(cpf_cli, cod_fun); } else { Console.WriteLine("Opção inválida!"); } } } else { Console.WriteLine("Fundo não encontrado!"); } } else { if (escolha == 2) { //imprimir todos na tela ou no arquivo Console.WriteLine("Para exibir na tela......digite 1"); Console.WriteLine("Para gerar relatório.....digite 2"); int escolha1 = int.Parse(Console.ReadLine()); if (escolha1 == 1) { chamar_investimentos.Exibir_aplicacoes_por_cliente(cpf_cli); } else { if (escolha1 == 2) { chamar_investimentos.Gerar_relatorio_por_cliente(cpf_cli); } else { Console.WriteLine("Opção inválida!"); } } } else { Console.WriteLine("Opção inválida!"); } } } else { Console.WriteLine("Cliente não encontrado, verifique o cpf!"); } break; case 5: int codigo_cli; int cpf; string nome; Console.WriteLine("Digite cpf: "); cpf = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Digite nome: "); nome = Console.ReadLine(); if (chamar_cli.contaClientes() == 0) { codigo_cli = 01; } else { codigo_cli = chamar_cli.contaClientes(); } Cliente novo = new Cliente(codigo_cli, cpf, nome); if (chamar_cli.Cadatrar_cliente(novo)) { Console.WriteLine("Código do cliente: " + codigo_cli); } else { Console.WriteLine("Menu:"); } break; case 6: int b_cpf; Console.WriteLine("Digite o seu CPF: "); b_cpf = int.Parse(Console.ReadLine()); if (chamar_cli.Busca_cliente(b_cpf) == null) { Console.WriteLine("Dado inválido, verifique o CPF cadastrado"); } else { Console.WriteLine("Código: " + chamar_cli.Busca_cliente(b_cpf).getCodigo_cliente()); Console.WriteLine("Nome: " + chamar_cli.Busca_cliente(b_cpf).getNome_cliente()); } break; case 7: int cpf_ex; Console.WriteLine("Digite o CPF do cliente!"); cpf_ex = int.Parse(Console.ReadLine()); if (chamar_cli.Busca_cliente(cpf_ex) != null) { if (chamar_investimentos.possui_apli(cpf_ex)) { Console.WriteLine("Cliente possui aplicações.......Resgate ou transfira as mesmas!"); } else { Console.WriteLine("O cliente: {0}, CPF: {1} " + chamar_cli.Busca_cliente(cpf_ex).getNome_cliente() + chamar_cli.Busca_cliente(cpf_ex).getCpf_cliente() + "Será excluído!"); Console.WriteLine("Para confirmar digite 1"); Console.WriteLine("Para cancelar digite 0"); int opcao = int.Parse(Console.ReadLine()); if (opcao == 1) { chamar_cli.excluir_cliente(cpf_ex); } else { Console.WriteLine("Exclusão cancelada!"); } } } else { Console.WriteLine("Cliente não existente!"); } break; case 8: Console.WriteLine("Digite o código do fundo:"); int cod = int.Parse(Console.ReadLine()); if (chamar_fundo.Validar_fundo(cod) != null) { //fazer metodo que verifica se há cliente no fundo. if (chamar_investimentos.fundo_tem_aplicacao(cod)) { Console.WriteLine("Fundo não pode ser excluído, o mesmo possui aplicações"); } else { Console.WriteLine("O fundo: {0}, Cod: {1}-Sigla{2} " + chamar_fundo.Busca_fundo(cod).getCodigo_fundo() + chamar_fundo.Busca_fundo(cod).getNome_fundo() + chamar_fundo.Busca_fundo(cod).getSigla_fundo() + "Será excluído!"); Console.WriteLine("Para confirmar digite 1"); Console.WriteLine("Para cancelar digite 0"); int opcao = int.Parse(Console.ReadLine()); if (opcao == 1) { chamar_fundo.excluir_fundo(cod); } else { Console.WriteLine("Exclusão cancelada!"); } } } else { Console.WriteLine("Código inválido!"); } break; case 0: Console.WriteLine("Menu Principal"); break; } } /* } else { Console.WriteLine("Usuário ou senha inválido!"); }*/ break; case 2: Console.WriteLine("Digite o CPF do investidor: "); int cpf_inv = int.Parse(Console.ReadLine()); //validar cliente if (chamar_cli.Busca_cliente(cpf_inv) != null) { Console.WriteLine("Bem vindo @ - " + chamar_cli.Busca_cliente(cpf_inv).getNome_cliente()); int opcao2 = -1; while (opcao2 != 0) { //opções para o cliente Console.WriteLine("Para aplicar em fundo,...........................digite 1"); Console.WriteLine("Consultar aplicações,............................digite 2"); Console.WriteLine("Para fazer resgate,..............................digite 3"); Console.WriteLine("Para transferiri aplicação para outro fundo,.....digite 4"); Console.WriteLine("Para sair,......................digite 0"); opcao2 = Convert.ToInt32(Console.ReadLine()); switch (opcao2) { case 1: //case para aplicar int b_cpf; Console.WriteLine("Digite o seu CPF: "); b_cpf = int.Parse(Console.ReadLine()); if (chamar_cli.Busca_cliente(b_cpf) == null) { Console.WriteLine("Dado incorreto, verifique CPF!"); } else { Console.WriteLine("Bem vindo(a): " + chamar_cli.Busca_cliente(b_cpf).getNome_cliente()); int opcaomoeda; Console.WriteLine("Escolha a moeda para a aplicação: "); Console.WriteLine("Para Real,................digite 1"); Console.WriteLine("Para dolar,...............digite 2"); opcaomoeda = int.Parse(Console.ReadLine()); //se digitar moeda inesistente: if (opcaomoeda == 1 || opcaomoeda == 2) { Console.WriteLine("Lista de fundos disponíveis para a moeda escolhida: "); if (chamar_fundo.Imprimir_fundo(opcaomoeda) == false) { Console.WriteLine("não há fundos cadastrados!"); } else { int cod_fundo; Console.WriteLine("Digite o codigo do fundo que deseja aplicar:"); cod_fundo = int.Parse(Console.ReadLine()); if (chamar_fundo.Validar_fundo(cod_fundo) != null) { Console.WriteLine("...." + chamar_fundo.Busca_fundo(cod_fundo).getNome_fundo() + "...." + chamar_fundo.Busca_fundo(cod_fundo).getSigla_fundo()); double valor_apl; DateTime dt_apl; Console.WriteLine("Digite o valor que deseja aplicar: "); valor_apl = double.Parse(Console.ReadLine()); Console.WriteLine("Confirmar aplicação: "); Console.WriteLine("Se sim, digite 1.........Se não digite 0"); int conf = int.Parse(Console.ReadLine()); if (conf == 1) { dt_apl = DateTime.Today; Console.WriteLine("Data da aplicação:" + dt_apl); chamar_investimentos.containvestimentos(); Aplicacao nova_aplicacao = new Aplicacao(valor_apl, dt_apl, chamar_investimentos.containvestimentos()); //atribuindo os dados do cliente a aplicação nova_aplicacao.dados_cli = new Cliente(chamar_cli.Busca_cliente(b_cpf).getCodigo_cliente(), b_cpf, chamar_cli.Busca_cliente(b_cpf).getNome_cliente()); //atribuindo os dados do fundo a aplicação nova_aplicacao.fundo = new Fundo_de_investimento(cod_fundo, chamar_fundo.Busca_fundo(cod_fundo).getNome_fundo(), chamar_fundo.Busca_fundo(cod_fundo).getSigla_fundo(), opcaomoeda); chamar_investimentos.Aplicar(nova_aplicacao); } else { Console.WriteLine("Aplicação cancelada!"); } } else { Console.WriteLine("Código incorreto!"); } } } else { Console.WriteLine("Moeda inválida!"); } } break; // Consultar aplicações pelo codigo case 2: Console.WriteLine("Digite o código do fundo para ver suas aplicações"); int cod_fundo_consulta = int.Parse(Console.ReadLine()); if (chamar_fundo.Validar_fundo(cod_fundo_consulta) != null) { Console.WriteLine("Digite o seu CPF"); b_cpf = int.Parse(Console.ReadLine()); chamar_investimentos.Buscar_aplicacao_Cliente(b_cpf, cod_fundo_consulta); } else { Console.WriteLine("Código não encontrado!"); } break; case 3: Console.WriteLine("Digite o código da aplicação:"); int cod_aplic = int.Parse(Console.ReadLine()); if (chamar_investimentos.Buscar_aplicacao(cod_aplic) == null) { Console.WriteLine("Aplicação não encontrada verifique o código digitado!"); } else { if (chamar_investimentos.Buscar_aplicacao(cod_aplic).dados_cli.getCpf_cliente() == cpf_inv)//cpf_inv é validado no menu de clientes { Console.WriteLine(chamar_investimentos.Buscar_aplicacao(cod_aplic).dados_cli.getNome_cliente() + " - Resgatar a aplicação abaixo?"); Console.WriteLine("Código da aplicação: " + chamar_investimentos.Buscar_aplicacao(cod_aplic).getCod_aplicacao() + " Valor: " + chamar_investimentos.Buscar_aplicacao(cod_aplic).getValor_aplicacao() + " Data: " + chamar_investimentos.Buscar_aplicacao(cod_aplic).getData_aplicacao()); Console.WriteLine("Cógdigo do fundo: " + chamar_investimentos.Buscar_aplicacao(cod_aplic).fundo.getCodigo_fundo() + " Nome: " + chamar_investimentos.Buscar_aplicacao(cod_aplic).fundo.getNome_fundo() + "-" + chamar_investimentos.Buscar_aplicacao(cod_aplic).fundo.getSigla_fundo()); Console.WriteLine("Se sim, digite 1"); Console.WriteLine(""); int esc_resg = int.Parse(Console.ReadLine()); if (esc_resg == 1) { if (chamar_investimentos.Buscar_aplicacao(cod_aplic).fundo.getOpcaomoeda() == 1) { //usar classe real Real apli_real = new Real("real", 'R');//verificar tam da variavel pq não aceita o $ Console.WriteLine("-20% IRRF: " + apli_real.desconto_resgate(chamar_investimentos.Buscar_aplicacao(cod_aplic))); double acressimo = chamar_investimentos.RetornoAcressimo(cod_aplic); double total_resgate = acressimo + apli_real.desconto_resgate(chamar_investimentos.Buscar_aplicacao(cod_aplic)); Console.WriteLine("Valor total do resgate: " + total_resgate); Console.WriteLine("Confirma o resgate ?"); Console.WriteLine("Se sim, digite 1"); Console.WriteLine("Para cancelar , digite 0"); int confirma = int.Parse(Console.ReadLine()); if (confirma == 1) { // Carrega as notas de Reais na lista apli_real.CarregarNotas(); //meétodo que retorna as notas utilizadas apli_real.Contar_Notas(total_resgate); //resgatar--------------excluir aplicação chamar_investimentos.resgatar(chamar_investimentos.Buscar_aplicacao(cod_aplic)); } else { Console.WriteLine("Resgate cancelado!"); } } else { if (chamar_investimentos.Buscar_aplicacao(cod_aplic).fundo.getOpcaomoeda() == 2) { //usar classe dolar Dolar apli_dolar = new Dolar("Dolar", 'D'); Console.WriteLine("-1% IOF: " + apli_dolar.desconto_resgate(chamar_investimentos.Buscar_aplicacao(cod_aplic))); double acressimo = chamar_investimentos.RetornoAcressimo(cod_aplic); double total_resgate = acressimo + apli_dolar.desconto_resgate(chamar_investimentos.Buscar_aplicacao(cod_aplic)); Console.WriteLine("Valor total do resgate: " + total_resgate); Console.WriteLine("Confirma o resgate ?"); Console.WriteLine("Se sim, digite 1"); Console.WriteLine("Para cancelar , digite 0"); int confirma = int.Parse(Console.ReadLine()); if (confirma == 1) { //meétodo que retorna as notas utilizadas apli_dolar.Contar_Notas(total_resgate); //resgatar--------------excluir aplicação chamar_investimentos.resgatar(chamar_investimentos.Buscar_aplicacao(cod_aplic)); } else { Console.WriteLine("Resgate cancelado!"); } } else { Console.WriteLine("Resgate não pode ser feito"); } } } else { Console.WriteLine("Resgate cancelado!"); } } else { Console.WriteLine("Cliente não associado a essa aplicação, consulte suas aplicações e confira o código!"); } } break; case 4: Console.WriteLine("Digite o cpf do investidor: "); int cpf = int.Parse(Console.ReadLine()); if (chamar_cli.Busca_cliente(cpf) != null) { Console.WriteLine(".........." + chamar_cli.Busca_cliente(cpf).getNome_cliente() + ".........."); Console.WriteLine("Digite o código da aplicação a transferir:"); int cod_apli = int.Parse(Console.ReadLine()); if (chamar_investimentos.Buscar_aplicacao(cod_apli) != null) { if (chamar_investimentos.Buscar_aplicacao(cod_apli).dados_cli.getCodigo_cliente() == chamar_cli.Busca_cliente(cpf).getCodigo_cliente()) { Console.WriteLine("Transferir a aplicação: "); Console.WriteLine("Codigo da aplicação: " + cod_apli + " Data: " + chamar_investimentos.Buscar_aplicacao(cod_apli).getData_aplicacao() + " Valor: " + chamar_investimentos.Buscar_aplicacao(cod_apli).getValor_aplicacao()); Console.WriteLine("Codigo do fundo atual: " + chamar_investimentos.Buscar_aplicacao(cod_apli).fundo.getCodigo_fundo() + " Nome: " + chamar_investimentos.Buscar_aplicacao(cod_apli).fundo.getNome_fundo() + "-" + chamar_investimentos.Buscar_aplicacao(cod_apli).fundo.getSigla_fundo()); Console.WriteLine(" "); Console.WriteLine("Digite o codigo do fundo a receber a aplicação: "); int cod_fun = int.Parse(Console.ReadLine()); if (chamar_fundo.Validar_fundo(cod_fun) != null) { if (chamar_investimentos.Buscar_aplicacao(cod_apli).fundo.getOpcaomoeda() == chamar_fundo.Busca_fundo(cod_fun).getOpcaomoeda()) { Console.WriteLine(" Código: " + chamar_fundo.Busca_fundo(cod_fun).getCodigo_fundo() + " Nome:" + chamar_fundo.Busca_fundo(cod_fun).getNome_fundo() + "- " + chamar_fundo.Busca_fundo(cod_fun).getSigla_fundo()); Console.WriteLine("Para confirmar transferência para o fundo acima........Digite 1 "); Console.WriteLine("Para cancelar transferência ...........................Digite 2"); int opc_tr = int.Parse(Console.ReadLine()); if (opc_tr == 1) { chamar_investimentos.transfere(chamar_investimentos.Buscar_aplicacao(cod_apli), chamar_fundo.Busca_fundo(cod_fun)); } else { Console.WriteLine("Transferência cancelada!"); } } else { Console.WriteLine("Transferência não permitida, moeda incompatível!"); } } else { Console.WriteLine("Fundo não encontrado, verifique o codigo!"); } } else { Console.WriteLine("Aplicação não encontrada!"); } } else { Console.WriteLine("Cliente não está associado a esta aplicação."); } } else { Console.WriteLine("Cliente não encontrado, verifique CPF!"); } break; } } } else { Console.WriteLine("Cliente não pode ser encontrado, verifique cpf!"); } break; case 3: Console.Write("Informe seu usuário, em letras minúsculas:"); string user = Console.ReadLine(); Console.WriteLine(""); Console.Write("informe sua senha, somente números:"); int senha = int.Parse(Console.ReadLine()); Usuario novo_user = new Usuario(); novo_user.setUser(user); novo_user.setSenha(senha); chamar_user.cadastra_user(novo_user); opcao0 = 1; break; default: break; }//término de menu para cliente break; } //término de menu para adm }
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(); } } }
// muda dados do fundo em uma aplicação public void transfere(Aplicacao aplicacao, Fundo_de_investimento fundo_novo) { int cont = 0; foreach(Aplicacao apli in lista_aplicacoes) { if(aplicacao.getCod_aplicacao() == apli.getCod_aplicacao()) { apli.fundo.setCodigo_fundo(fundo_novo.getCodigo_fundo()); apli.fundo.setNome_fundo(fundo_novo.getNome_fundo()); apli.fundo.setSigla_fundo(fundo_novo.getSigla_fundo()); cont++; } } Atualiza_arq_aplicacoes(); if (cont != 0) { Console.WriteLine("Aplicação transferida com sucesso!"); } else { Console.WriteLine("Transferência não realizada, verifique se os dados estão corretos!"); } }
public void aplicar(Aplicacao aplicacao) { this.aplicacao.Add(aplicacao); }
public override double desconto_resgate(Aplicacao aplicacao) { double valor_resgate; valor_resgate = aplicacao.getValor_aplicacao() - ((aplicacao.getValor_aplicacao() * 20) / 100); return valor_resgate; }
public void setTodasAplicacoes(Aplicacao a) { this.todasAplicacoes.Add(a); }
/// <summary> /// Método para adicionar um objeto aplicacao na lista de aplicacoes /// </summary> /// <param name="aplicacao"></param> public void novaAplicacao(Aplicacao aplicacao) { this.aplicacoes.Add(aplicacao); }
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(); } } }
//gerar relatório mensal por fundo- //na main pedir para validar o codigo do fundo primeiro public void Relatorio_mensal(int cod_fundo) { List<Aplicacao> escolha_apli = new List<Aplicacao>(); int conta_apli = 0; Aplicacao dados = new Aplicacao(); foreach (Aplicacao aplicacao in lista_aplicacoes) { if (cod_fundo == aplicacao.fundo.getCodigo_fundo()) { dados = aplicacao; escolha_apli.Add(aplicacao); conta_apli++; } } int mes; int ano; Console.WriteLine("Digite o mês:"); mes = int.Parse(Console.ReadLine()); Console.WriteLine("Digite o ano:"); ano = int.Parse(Console.ReadLine()); int cont = 0; if (conta_apli == 0) { Console.WriteLine("Esse fundo ainda não possui aplicações!"); } else { List<Aplicacao> escolha_data = new List<Aplicacao>(); Console.WriteLine("APLICAÇÕES FEITAS PARA O FUNDO: " + cod_fundo +"Nome: "+ dados.fundo.getNome_fundo()+"-" +dados.fundo.getSigla_fundo()); Console.WriteLine("Para exibir na tela................ digite 1"); Console.WriteLine("Para gerar relatório em arquivo.....digite 2"); int opcao = int.Parse(Console.ReadLine()); if (opcao == 1) { foreach (Aplicacao aplicacao in escolha_apli) { if (aplicacao.getData_aplicacao().Month == mes && aplicacao.getData_aplicacao().Year == ano) { cont++; escolha_data.Add(aplicacao); if (aplicacao.fundo.getOpcaomoeda() == 1) { Console.WriteLine("Data" + aplicacao.getData_aplicacao() + "-Cliente: " + aplicacao.dados_cli.getNome_cliente() + " Valor: " + aplicacao.getValor_aplicacao() + " Moeda: Real"); } else { if (aplicacao.fundo.getOpcaomoeda() == 2) { Console.WriteLine("Data: " + aplicacao.getData_aplicacao() + "...Cliente: " + aplicacao.dados_cli.getCodigo_cliente() + "-" + aplicacao.dados_cli.getNome_cliente() + " ...Valor: " + aplicacao.getValor_aplicacao() + " Moeda: Dolar"); } } } } if (cont == 0) { Console.WriteLine("Não há aplicações nesse fundo, no período solicitado"); } Console.WriteLine(" "); } else { if (opcao == 2) { using (StreamWriter escritor = new StreamWriter("../../Relatorio_Aplicacaoes_por_fundo_e_mes.txt")) { try { escritor.WriteLine("APLICAÇÕES FEITAS PARA O FUNDO: " + cod_fundo + " Nome: " + dados.fundo.getNome_fundo() + "-" + dados.fundo.getSigla_fundo()); foreach (Aplicacao aplicacao in escolha_apli) { if (aplicacao.getData_aplicacao().Month == mes && aplicacao.getData_aplicacao().Year == ano) { cont++; escolha_data.Add(aplicacao); if (aplicacao.fundo.getOpcaomoeda() == 1) { escritor.WriteLine("Data: " + aplicacao.getData_aplicacao() + "...Cliente: " + aplicacao.dados_cli.getNome_cliente() + " ...Valor: " + aplicacao.getValor_aplicacao() + " Moeda: Real"); } else { if (aplicacao.fundo.getOpcaomoeda() == 2) { escritor.WriteLine("Data: " + aplicacao.getData_aplicacao() + "...Cliente: " + aplicacao.dados_cli.getCodigo_cliente() + "-" + aplicacao.dados_cli.getNome_cliente() + " Valor: " + aplicacao.getValor_aplicacao() + " Moeda: Dolar"); } } escritor.WriteLine(""); } } if (cont == 0) { Console.WriteLine("Não há aplicações nesse fundo, no período solicitado"); } else { Console.WriteLine("Relatório gerado em arquivo!"); } escritor.Close(); } catch (IOException) { Console.WriteLine("Erro ao Atualizar arquivo!"); } } } } } }
public Resgate(FundoInvestimento fundoInvestimento, Aplicacao aplicacao) { this.fundoInvestimento = fundoInvestimento; this.aplicacao = aplicacao; this.dataResgate = DateTime.Now; }
//Método para resgatar aplicação public Aplicacao resgatar(Aplicacao aplicacao) { foreach (Aplicacao apli in lista_aplicacoes) { if(apli.getCod_aplicacao() == aplicacao.getCod_aplicacao()) { lista_aplicacoes.Remove(apli); Atualiza_arq_aplicacoes(); Console.WriteLine("Aplicação resgatada"); return apli; } } return null; }
// Para os filhos usar o do pai public virtual void Contar_Notas(Aplicacao aplicacao) { }
public static void lerArquivo(List<Aplicacao> aplicacao) { try { if (File.Exists("../../aplicacao.txt")) { Stream arqDados = File.Open("../../aplicacao.txt", FileMode.Open); StreamReader leitor = new StreamReader(arqDados); String linha = leitor.ReadLine(); String[] separador; Aplicacao aplicacaoPadrao; while (linha != null) { separador = linha.Split(';'); aplicacaoPadrao = new Aplicacao(float.Parse(separador[0]), int.Parse(separador[1]), DateTime.Parse(separador[2]), float.Parse(separador[3]), int.Parse(separador[4])); linha = leitor.ReadLine(); aplicacao.Add(aplicacaoPadrao); } leitor.Close(); arqDados.Close(); } } catch (IOException io) { Console.WriteLine("\nOcorreu um erro: {0}", io); } }
public List<Aplicacao> realizarAplicacao(Aplicacao aplicacao, int codInvestimento) { this.fundoInvestimento.Add(FundoInvestimento.buscaFundo(fundoInvestimento, codInvestimento)); FundoInvestimento.buscaFundo(this.fundoInvestimento, codInvestimento).buscaAplicacao().Add(aplicacao); return FundoInvestimento.buscaFundo(this.fundoInvestimento, codInvestimento).buscaAplicacao(); }
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(); }