1
resposta

Dúvida sobre desconto já aplicado

Se fosse colocado uma propriedade na classe Orçamento para dizer se ele já foi aprovado ou não seria errado?

public class Orcamento { public double Valor { get; set; } public IList Itens { get; private set; }

public EstadoDeUmOrcamento EstadoAtual { get; set; } public bool JaAprovado {get; set;}

public Orcamento(double valor) { this.Valor = valor; this.Itens = new List(); this.EstadoAtual = new EmAprovacao(); this.JaAprovado = false; }

Assim no método Aprovado verificaria esta propriedade do orcamento e apresentaria exceção:

public class Aprovado : EstadoDeUmOrcamento { public void AplicaDescontoExtra(Orcamento orcamento) { if(orcamento.JaAprovado) throw new Exception("Orcamento já está aprovado);

orcamento.Valor -= orcamento.Valor * 0.02; orcamento.JaAprovado = true; } //.... restante da classe }

1 resposta

O que define um orçamento aprovado??

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software