// Metodo Procedure (sem retorno) // Que irá inserir um unico objeto Funcionario dentro da lista de objetos Funcionarios public void ArmazenarFuncionario(string nome, string cpf, string cargo, float salario, float desconto, float adicional, bool semDesconto) { Funcionario funcionarioObj; CheckCPF.Check(this.Funcionarios, cpf); // Cada item (indice) da lista é um objeto Funcionario que contem nome, cpf, salario, desconto if (cargo == "Gerente") { funcionarioObj = new Gerente(nome, cpf, cargo, salario, desconto, adicional); } else { funcionarioObj = new Funcionario(nome, cpf, cargo, salario, desconto, adicional); } // dependendo do valor da variavel semDesconto // executa versões diferentes da CalcularLiquido (conceito de sobrecarga) if (semDesconto) { funcionarioObj.CalcularLiquido(funcionarioObj.salarioBruto, funcionarioObj.adicional); } else { funcionarioObj.CalcularLiquido(funcionarioObj.salarioBruto, funcionarioObj.desconto, funcionarioObj.adicional); } funcionarioObj.CalculaBonus(); // Função add é herdada da list Funcionarios.Add(funcionarioObj); Cadastro cadastro = new Cadastro(funcionarioObj.nome, funcionarioObj.cpf, funcionarioObj.Cargo, funcionarioObj.salarioBruto, funcionarioObj.desconto, funcionarioObj.adicional); }
//Sabrecarga utilizada no load do forms cadastro de funcionáios. public void ArmazenarFuncionario(Funcionario funcionario) { CheckCPF.Check(this.Funcionarios, funcionario.cpf); Funcionarios.Add(funcionario); }