//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");
                }
            }
        }
        //cadastra novo fundo na lista
        public void Cadatrar_fundo(Fundo_de_investimento novo_fundo)
        {
            if (Busca_fundo(novo_fundo.getCodigo_fundo()) == null)
            {

                Lista_de_fundos.Add(novo_fundo);
                Atualiza_arq_fundos();

                Console.WriteLine("Novo fundo incluído com sucesso!");

            }
            else
            {

                Console.WriteLine("Erro ao salvar, verifique se codigo está correto!");
            }
        }
        // Metodo carrega os dados dos fundos cadastrados pelo arquivo
        public void FundosCadastrados()
        {
            using (StreamReader reader = new StreamReader("../../Fundos_Cadastrados.txt"))
            {

                try
                {
                    string linha;
                    String[] Separador;
                    linha = reader.ReadLine();

                    int codigoFundo = 0, OpMoeda = 0; String NomeFundo = "", SiglaFundo = "";

                    // Fundos cadastrados no Arquivo
                    while (linha != null)
                    {

                        Separador = linha.Split(new char[] { ';' });

                        codigoFundo = int.Parse(Separador[0]);
                        NomeFundo = (Separador[1]);
                        SiglaFundo = (Separador[2]);
                        OpMoeda = int.Parse(Separador[3]);

                        linha = reader.ReadLine();

                        Fundo_de_investimento NovoFundo = new Fundo_de_investimento(codigoFundo,NomeFundo,SiglaFundo,OpMoeda);
                        Lista_de_fundos.Add(NovoFundo);

                    }
                    reader.Close();

                }
                catch (IOException)
                {
                    Console.WriteLine("Erro ao adicionar na lista");
                }
            }
        }
        // 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!");
            }
        }
Exemple #5
0
        //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
        }