コード例 #1
0
        // Obs:  Não foi possível implementar o primeiro requisito do segundo parágrafo
        //ou seja, assim que o programa iniciar, mostrar os aniversariantes do dia,
        //visto que é necessário carregar a agenda primeiro. Além disso, o Menu Inicial perderia sua função de looping,
        //no caso de haver muitos aniversariantes no dia.
        //Dessa forma, foi oferecida a opção de mostrar os aniversariantes do dia numa página dedicada.
        static void Main(string[] args)
        {
            Agenda agenda = new Agenda();
            Arquivo repositorio = new Arquivo();
            int opcao = 0;            
            const string diretorio = @"D:\agenda.txt";

            // Obtem o arquivo para verificar se há aniversariantes no dia.
            agenda = repositorio.ObterAgendaDeArquivo(diretorio);
            // Exibe aniversariantes do dia.
            AniversariantesDoDia(agenda);


            do // Enquanto se desejar o menu vai ficar rodando
            {                
                Console.WriteLine("\n");
                Console.WriteLine("\t\t"+DateTime.Now);
                Console.WriteLine("\n\n");

                Console.WriteLine("\n\t\tGeranciador de Aniversários.\n");
                Console.WriteLine("\t\tSelecione uma das opções abaixo:\n");
                Console.WriteLine("\t\t1 - Adicionar nova pessoa.\n" +
                                  "\t\t2 - Buscar pessoa pelo nome ou sobrenome.\n" +
                                  "\t\t3 - Editar dados da Pessoa.\n" +
                                  "\t\t4 - Apagar pessoa da agenda.\n" +
                                  "\t\t5 - Imprimir agenda.\n" +
                                  "\t\t6 - Carregar agenda de arquivo.\n" +
                                  "\t\t7 - Gravar agenda em arquivo.\n" +
                                  "\t\t8 - Abrir arquivo.\n" +
                                  "\t\t9 - Aniversariantes do Dia.\n" +
                                  "\t\t0 - Sair.\n");

                Console.WriteLine("\n\n\n\t\tQuantidade de pessoas na agenda: "+ agenda.ObterQuantidadePessoas());

                opcao = int.Parse(Console.ReadLine()); // Captura a opção escolhida pelo usuário

                // Opções do menu e seus comandos a serem executados, de a cordo com a opção escolhida pelo usuário
                switch (opcao)
                {
                    case 1: // Adiciona nova pessoa na agenda
                        Console.Clear();
                        AdicionarPessoa(agenda);
                        break;
                    case 2: // Busca pessoa pelo nome ou sobrenome
                        Console.Clear();
                        BuscarPessoasPeloNome(agenda);
                        break;
                    case 3: // Edita os dados de uma determinada pessoa
                        Console.Clear();
                        EditarPessoa(agenda);
                        break;
                    case 4: // Apaga pessoa da agenda
                        Console.Clear();
                        DeletarPessoa(agenda);
                        break;
                    case 5: // Imprime toda a  agenda
                        Console.Clear();
                        ImprimirAgenda(agenda);
                        break;
                    case 6: // Carrega agenda de arquivo já salvo
                        Console.Clear();
                        agenda = repositorio.ObterAgendaDeArquivo(diretorio);
                        Console.WriteLine("Agenda carregada com sucesso!");
                        break;
                    case 7: // Grava agenda em arquivo
                        Console.Clear();
                        repositorio.GravarAgendaEmArquivo(agenda, diretorio);
                        Console.WriteLine("Agenda gravada com sucesso!");
                        break;
                    case 8: // Abre arquivo da agenda apenas para leitura (se editar o arquivo ele será inutilizado!!!)
                        Console.Clear();
                        System.Diagnostics.Process.Start(diretorio);
                        Console.WriteLine("Arquivo texto aberto!");
                        Console.WriteLine("IMPORTANTE: É apenas para você olha ele, lembre de fechar antes de gravar novamente!");
                        break;
                    case 9: // Exibe os aniversariantes do dia
                        Console.Clear();
                        AniversariantesDoDia(agenda);
                        break;
                }
            } while (opcao != 0); // Digitando o número ZERO o programa é encerrado
        }