public ValorDoAnimal CalcularValor(Cavalo cavalo) { ValorDoAnimal valorDoAnimal = new ValorDoAnimal(cavalo); if (cavalo.Idade <= 8) { valorDoAnimal.Adicionar(1000); } else { valorDoAnimal.Adicionar(200); } if (cavalo.QuantidadeDeCoberturasPorAno > 150) { valorDoAnimal.Adicionar(5000); } else if (cavalo.QuantidadeDeCoberturasPorAno > 125) { valorDoAnimal.Adicionar(2500); } else { valorDoAnimal.Adicionar(1000); } return(valorDoAnimal); }
public ValorDoAnimal Precificar(Cavalo cavalo) { var valorDoAnimal = new ValorDoAnimal(cavalo); var precificadoresAplicaveis = precificadores .Where(precificador => precificador.SeEnquadraPara(cavalo)) .ToList(); foreach (var precificador in precificadoresAplicaveis) { var valorDefinidoPeloPrecificador = precificador.CalcularValor(cavalo); valorDoAnimal.Adicionar(valorDefinidoPeloPrecificador); } return(valorDoAnimal); }