コード例 #1
0
ファイル: Program.cs プロジェクト: pedrodiasbr/RH_digital
        public void DesligarFuncionario()
        {
            Console.Clear();
            Console.WriteLine("-------Desligando Funcionário-------");
            string ConfereCpf;

            try
            {
                Console.WriteLine("Digite o CPF do empregado que deseja desligar:");
                Console.WriteLine("(Obs. Favor digitar o CPF sem '.','-' ou espaçamentos)");
                ConfereCpf = Console.ReadLine();
                var result = ListaEmpregado.FirstOrDefault(x => ConfereCpf == x.CPF);
                Console.WriteLine("O funcionário " + result.Nome + " está agora desligado e seu salário foi zerado.");
                StatusEmpregado StatusEmpregado = (StatusEmpregado)Enum.Parse(typeof(StatusEmpregado), "4");
                result.Status  = StatusEmpregado;
                result.Salario = 0;
            }
            catch (NullReferenceException)
            {
                Console.WriteLine("Cpf não encontrado, tente novamente");
            }

            Console.ReadKey();
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: pedrodiasbr/RH_digital
        private static Empregado CriarEmpregado(int ultimoNumeroPessoal)
        {
            Console.Clear();
            Console.WriteLine("Digite o nome da pessoa:");
            string nome = Console.ReadLine();

            while (nome == "")
            {
                Console.Clear();
                Console.WriteLine("Nome não pode ser vazio");
                Console.WriteLine("Digite o nome da pessoa:");
                nome = Console.ReadLine();
            }

            Console.WriteLine("Digite data de nascimento da pessoa: ('dd/MM/yyyy')");
            DateTime dataNascimento;
            var      datavalida = DateTime
                                  .TryParseExact(Console.ReadLine(),
                                                 "dd/MM/yyyy",
                                                 CultureInfo.InvariantCulture,
                                                 DateTimeStyles.None,
                                                 out dataNascimento);

            while ((datavalida == false))
            {
                Console.Clear();
                Console.WriteLine("Data inválida, favor tentar novamente.");
                Console.WriteLine("Digite data de nascimento da pessoa: ('dd/MM/yyyy')");
                datavalida = DateTime
                             .TryParseExact(Console.ReadLine(),
                                            "dd/MM/yyyy",
                                            CultureInfo.InvariantCulture,
                                            DateTimeStyles.None,
                                            out dataNascimento);
            }

            Console.WriteLine("Digite o sexo da pessoa:");
            Console.WriteLine("1 - Feminino");
            Console.WriteLine("2 - Masculino");
            Console.WriteLine("3 - Outro");
            string sexo = Console.ReadLine();

            while (sexo != "1" && sexo != "2" && sexo != "3")
            {
                Console.Clear();
                Console.WriteLine("Valor não econtrado, tente novamente. ");
                Console.WriteLine("Digite o sexo da pessoa:");
                Console.WriteLine("1 - Feminino");
                Console.WriteLine("2 - Masculino");
                Console.WriteLine("3 - Outro");
                sexo = Console.ReadLine();
            }
            Sexo Sexo = (Sexo)Enum.Parse(typeof(Sexo), sexo);

            string Nac;

            Console.WriteLine("Digite nacionalidade da pessoa.\n 1 - Brasileira\n 2 - Outra");

            Nac = Console.ReadLine();
            while (Nac != "1" && Nac != "2")
            {
                Console.Clear();
                Console.WriteLine("Valor não econtrado, tente novamente. ");
                Console.WriteLine("Digite nacionalidade da pessoa.\n 1 - Brasileira\n 2 - Outra");
                Nac = Console.ReadLine();
            }

            Nacionalidade nacionalidade;

            if (Nac == "1")
            {
                nacionalidade = Nacionalidade.Brasileira;
            }
            else
            {
                nacionalidade = Nacionalidade.Outras;
            }

            string CPF;

            Console.WriteLine("Digite o CPF da pessoa:");
            CPF = Console.ReadLine();
            CPF = CPF.Replace(".", "").Replace("-", "").Replace(" ", "");
            ValidandoCpf(CPF);
            while (ValidandoCpf(CPF) == false)
            {
                Console.Clear();
                Console.WriteLine("Erro, CPF não existe. Favor tentar novamente");
                Console.WriteLine("Digite o CPF da pessoa:");
                CPF = Console.ReadLine();
                CPF = CPF.Replace(".", "").Replace("-", "").Replace(" ", "");
                ValidandoCpf(CPF);
            }
            DBContext.VerificaCpfRepetido(CPF);
            while (DBContext.VerificaCpfRepetido(CPF) == true)
            {
                Console.Clear();
                Console.WriteLine("Erro, CPF já cadastrado, Favor tentar novamente");
                Console.WriteLine("Digite o CPF da pessoa:");
                CPF = Console.ReadLine();
                CPF = CPF.Replace(".", "").Replace("-", "").Replace(" ", "");
                DBContext.VerificaCpfRepetido(CPF);
            }

            double salario = 0;

            try
            {
                Console.WriteLine("Digite o salário da pessoa:");
                salario = double.Parse(Console.ReadLine());
                while (salario < 0)
                {
                    Console.ReadKey();
                    Console.WriteLine("Salário não pode ser negativo. Tente novamente.");
                    Console.WriteLine("Digite o salário da pessoa:");
                    salario = double.Parse(Console.ReadLine());
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Valor não existente.\n O salário será definido como 0 (zero) e ao retornar ao menu, você pode alterar escolhendo a opção 2 ('dois')");
            }

            Console.WriteLine("Digite o cargo da pessoa:");
            string cargo = Console.ReadLine();

            while (cargo == "")
            {
                Console.Clear();
                Console.WriteLine("Cargo não pode ser vazio");
                Console.WriteLine("Digite o cargo da pessoa:");
                cargo = Console.ReadLine();
            }

            Console.WriteLine("Digite o status do empregado: \nAtivo = 1, \nAfastado = 2, \nAposentado = 3, \nDesligado = 4");
            string Status = Console.ReadLine();

            while (Status != "1" && Status != "2" && Status != "3" && Status != "4")
            {
                Console.Clear();
                Console.WriteLine("Valor não econtrado, tente novamente. ");
                Console.WriteLine("Digite o status do empregado: \nAtivo = 1, \nAfastado = 2, \nAposentado = 3, \nDesligado = 4");
                Status = Console.ReadLine();
            }
            StatusEmpregado StatusEmpregado = (StatusEmpregado)Enum.Parse(typeof(StatusEmpregado), Status);

            if (StatusEmpregado == StatusEmpregado.Desligado)
            {
                Console.WriteLine("O salário foi automaticamente zerado pois o usuário se encontra desligado.");
                salario = 0;
                Console.ReadKey();
            }

            return(new Empregado()
            {
                Nome = nome,
                DataNascimento = dataNascimento,
                Nacionalidade = nacionalidade,
                CPF = CPF,
                Sexo = Sexo,
                Salario = salario,
                Cargo = cargo,
                Status = StatusEmpregado,
                NumeroPessoal = ultimoNumeroPessoal + 1
            });
        }