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(); }
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 }); }