Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sempre daremos desconto?

Na aula nosso orcamento sempre inicia na situação EmAnalise, e EmAnalise implementamos o seguinte código.

public BigDecimal calcularValorDeDescontoExtra(Orcamento orcamento) {
        return orcamento.getValor().multiply(new BigDecimal("0.05"));
    }

Isso quer dizer que sempre que um lançamento for inicializado ele terá 5% de desconto apenas porque está no estado de Analize? E quando for aprovado ele terá mais 2% pois entra no estado Aprovado?

1 resposta
solução!

Olá, Jorge!

O código que você postou é responsável por calcular o valor de desconto extra em cima do valor total do orçamento. No entanto, ele não garante que o desconto será sempre aplicado. É necessário que o código que utiliza esse método (calcularValorDeDescontoExtra) verifique em qual estado o orçamento se encontra e decida se o desconto será aplicado ou não.

No exemplo que você citou, o estado "EmAnalise" é apenas um exemplo de como o desconto pode ser aplicado. Mas é possível que em outros estados o desconto não seja aplicado ou que seja aplicado um desconto diferente.

Portanto, para saber se o desconto será sempre aplicado, é necessário verificar o código que utiliza o método calcularValorDeDescontoExtra e entender como ele decide se o desconto deve ser aplicado ou não.

Espero ter ajudado e bons estudos!