Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }