public static Operario menuEditarOperario(Operario operario) { int opc = 0; bool flag = true; while (flag) { Console.Clear(); Console.WriteLine("1 - Nº Identificador: " + operario.getId().ToString()); Console.WriteLine("2 - Nome: " + operario.getNome()); Console.WriteLine("3 - Email: " + operario.getEmail()); Console.WriteLine("4 - Valor Hora: " + operario.getValorHora().ToString()); Console.WriteLine("5 - Departamento: " + operario.getDepartamento()); Console.WriteLine("6 - Data de Nascimento: " + operario.getDataNascimento().toString()); Console.WriteLine("7 - Calcular Idade"); Console.WriteLine("8 - Calcular Salário"); Console.WriteLine("\n0 - Sair"); opc = lerInt(); switch (opc) { case 0: flag = false; break; case 1: Console.WriteLine("Digite o Numero Identificador:"); if (!operario.setId(lerInt())) { erro("numero identifcador"); Console.ReadKey(); } break; case 2: Console.WriteLine("Digite o Nome:"); if (!operario.setNome(Console.ReadLine())) { erro("nome"); Console.ReadKey(); } break; case 3: Console.WriteLine("Digite o Email:"); if (!operario.setEmail(Console.ReadLine())) { erro("email"); Console.ReadKey(); } break; case 4: Console.WriteLine("Digite o Valor por hora:"); if (!operario.setValorHora(lerDouble())) { erro("valor hora"); Console.ReadKey(); } break; case 5: Console.WriteLine("Digite o Departamento:"); if (!operario.setDepartamento(Console.ReadLine())) { erro("departamento"); Console.ReadKey(); } break; case 6: Console.WriteLine("Digite a data(DD/MM/AAAA):"); if (!operario.setDataNascimento(lerData())) { erro("data de nascimento errada"); Console.ReadKey(); } break; case 7: Console.WriteLine("Idade do " + operario.getNome() + ": " + operario.calcularIdade().ToString()); Console.WriteLine("\n\nClique numa tecla para continuar..."); Console.ReadKey(); break; case 8: Console.WriteLine("Indique o número de horas que trabalhou: "); double r; do { r = operario.calcSal(lerDouble()); if (r == -1) { Console.WriteLine("Numero invalido\n"); } } while (r == -1); Console.WriteLine("Salário bruto sem subsídios: " + r.ToString() + "€"); Console.ReadKey(); break; } } return(operario); }
public Operario(Operario o) : base(o.id, o.nome, o.email, o.valorHora, o.dataNasc) { departamento = o.departamento; }
static void Main(string[] args) { ArrayList gerentes = new ArrayList(); ArrayList operarios = new ArrayList(); gerentes = carregarGerentes(gerentes, false); operarios = carregarOperarios(operarios, false); int opc = 0; bool flag = true; while (flag) { Console.Clear(); Console.WriteLine("Indique a opção desejada:"); Console.WriteLine("1 - Inserir Gerente"); Console.WriteLine("2 - Inserir Operario"); Console.WriteLine("3 - Visualizar Gerentes"); Console.WriteLine("4 - Visualizar Operários"); Console.WriteLine("5 - Visualizar Funcionários"); Console.WriteLine("0 - Sair"); opc = lerInt(); switch (opc) { case 1: Gerente ger; ger = new Gerente(); Console.WriteLine("Digite o Numero identificador:"); while (!ger.setId(lerInt())) { erro("numero"); } Console.WriteLine("Digite o Nome:"); while (!ger.setNome(Console.ReadLine())) { erro("nome"); } Console.WriteLine("Digite o Email:"); while (!ger.setEmail(Console.ReadLine())) { erro("email"); } Console.WriteLine("Digite o Valor Hora:"); while (!ger.setValorHora(lerDouble())) { erro("valor hora"); } Console.WriteLine("Digite a especialidade:"); while (!ger.setEspecialidade(Console.ReadLine())) { erro("especialidade"); } Console.WriteLine("Digite a extensao:"); while (!ger.setExtensao(lerInt())) { erro("extensão"); } Console.WriteLine("Digite a data (DD/MM/AAAA):"); ger.setDataNascimento(lerData()); gerentes.Add(ger); break; case 2: Operario op; op = new Operario(); Console.WriteLine("Digite o Numero identificador:"); while (!op.setId(lerInt())) { erro("numero"); } Console.WriteLine("Digite o Nome:"); while (!op.setNome(Console.ReadLine())) { erro("nome"); } Console.WriteLine("Digite o Email:"); while (!op.setEmail(Console.ReadLine())) { erro("email"); } Console.WriteLine("Digite o Valor Hora:"); while (!op.setValorHora(lerDouble())) { erro("valor hora"); } Console.WriteLine("Digite o Departamento:"); while (!op.setDepartamento(Console.ReadLine())) { erro("departamento"); } Console.WriteLine("Digite a data (DD/MM/AAAA):"); op.setDataNascimento(lerData()); operarios.Add(op); break; case 3: gerentes = menuGerentes(gerentes); break; case 4: operarios = menuOperarios(operarios); break; case 5: Console.WriteLine("\nGerentes:\n"); foreach (Gerente obj in gerentes) { Console.WriteLine("\n" + obj.toString()); } Console.WriteLine("\nOperarios:\n"); foreach (Operario obj in operarios) { Console.WriteLine("\n" + obj.toString()); } Console.WriteLine("\n\nClique numa tecla para voltar ao menu..."); Console.ReadKey(); break; case 0: flag = false; break; default: break; } } Console.WriteLine("A sair do programa..."); bool logs = false; if (logs) { Console.WriteLine("\n---------------------------------\n\nLog files...\n\n-----------------------------------"); } guardarGerentes(gerentes, logs); guardarOperarios(operarios, logs); if (logs) { Console.ReadKey(); } }