public double CalculaSalario(Funcionario funcionario) { if (funcionario.Cargo.Equals(Cargo.DESENVOLVEDOR)) { regraDeCalculo = new DezOuVintePorCento(); return(regraDeCalculo.Calcula(funcionario)); } else // DBA ou TESTADOR { regraDeCalculo = new QuinzeOuVinteCincoPorCento(); return(regraDeCalculo.Calcula(funcionario)); } }
public Desenvolvedor(IRegraDeCalculo regra) : base(regra) { }
public Tester(IRegraDeCalculo regra) : base(regra) { }
public Dba(IRegraDeCalculo regra) : base(regra) { }
public Cargo(IRegraDeCalculo regra) { this.Regra = regra; }
public Cargo(IRegraDeCalculo regra) { Regra = regra; }
public Cargo(IRegraDeCalculo regra) { }
protected Cargo(IRegraDeCalculo regra) { this.Regra = regra; }
private Cargo(IRegraDeCalculo regra) { this.Regra = regra; }
public Gerente(IRegraDeCalculo regra) : base(regra) { }
protected Cargo(IRegraDeCalculo regraDeCalculo) { Regra = regraDeCalculo; }
public double CalculaSalario(double salario, IRegraDeCalculo regraDeCalculo) => regraDeCalculo.Calcula(salario);