Ejemplo n.º 1
0
    public static void FazerCadastro(bool cadastro_administrador)
    {
        bool   refazer_cadastro = false;
        string nome_completo, cpf, email, cargo = "", senha_conferida = "";
        Data   data_nascimento;

        do
        {
            Util.LimparTela();
            Console.WriteLine("*===========================================*");
            Console.Write("Insira o nome completo: ");
            nome_completo = Console.ReadLine();

            bool cpf_valido = false;
            do
            {
                Console.Write("Digite o CPF: ");
                cpf = Console.ReadLine();

                if (Util.VerificadorDeCpf(cpf))
                {
                    cpf_valido = true;
                }
                else
                {
                    Console.WriteLine("\nCPF inválido...\nTente novamente\n");
                }
            } while(!cpf_valido);

            Console.Write("Agora nos informe a data de nascimento no seguinte formato [DD/MM/AAAA]: ");
            data_nascimento = new Data(Console.ReadLine());
            Console.Write("Por favor, digite o e-mail: ");
            email = Console.ReadLine();

            // SE FOR CADASTRO DE UM ADMINISTRADOR
            if (cadastro_administrador == true)
            {
                Console.Write("Por favor, digite o cargo: ");
                cargo = Console.ReadLine();
            }

            // VERIFICAÇÃO DA SENHA
            bool senha_valida = false;
            do
            {
                Console.Write("Digite sua senha: ");
                string senha_1 = Console.ReadLine();
                Console.Write("Repita a senha: ");
                string senha_2 = Console.ReadLine();

                if (senha_1 == senha_2)
                {
                    senha_conferida = senha_1;
                    senha_valida    = true;
                }
                else
                {
                    Console.WriteLine("Senhas não conferem. Repita o processo.");
                }
            } while (!senha_valida);

            // CONFIRMAR CADASTRO
            Console.Write("\nDeseja verificar seu cadastro? [S/n]: ");
            if (Console.ReadLine().ToLower() == "s")
            {
                Util.LimparTela();
                Console.WriteLine("Nome completo: " + nome_completo);
                Console.WriteLine("CPF: " + cpf);
                Console.WriteLine("Data de nascimento: " + data_nascimento.GetDataCompleta());
                Console.WriteLine("E-mail: " + email);

                // SE FOR CADASTRO DE UM ADMINISTRADOR
                if (cadastro_administrador == true)
                {
                    Console.WriteLine("Cargo: " + cargo);
                }

                // REFAZER CADASTRO
                Console.Write("\nDeseja recomeçar o cadastro? [S/n]: ");
                refazer_cadastro = Console.ReadLine().ToLower() == "s" ? true : false;
            }
        } while (refazer_cadastro);

        Util.LimparTela();

        if (cadastro_administrador == true)   // SE FOR CADASTRO DE UM ADMINISTRADOR
        {
            Administrador novo_cadastro_administrador = new Administrador(nome_completo, cpf, data_nascimento, email, senha_conferida, cargo);

            if (novo_cadastro_administrador.VerificarSeCadastroExiste())
            {
                Console.WriteLine("\nE-mail ou CPF já cadastrados!");
            }
            else
            {
                novo_cadastro_administrador.SalvarCadastroNoArquivo();

                Console.WriteLine("\nCadastro realizado com sucesso!");
                Util.GravarLog("Novo administrador cadastrado: " + nome_completo + ", cargo: " + cargo);
            }
        }
        else     // SE FOR CADASTRO DE UM VISITANTE
        {
            Visitante novo_cadastro_visitante = new Visitante(nome_completo, cpf, data_nascimento, email, senha_conferida);

            if (novo_cadastro_visitante.VerificarSeCadastroExiste())
            {
                Console.WriteLine("\nE-mail ou CPF de visitante já cadastrados!");
            }
            else
            {
                novo_cadastro_visitante.SalvarCadastroNoArquivo();

                Console.WriteLine("\nCadastro realizado com sucesso, visitante!");
                Util.GravarLog("Novo visitante cadastrado: " + nome_completo);
                Console.WriteLine("Já pode fazer seu login!");
            }
        }

        Console.WriteLine("Voltando ao menu principal...");

        Util.Pausa(5000);

        Util.LimparTela();
    }