public void Finaliza(Orcamento orcamento) { orcamento.EstadoAtual = new Finalizado(); }
public void Aprova(Orcamento orcamento) { throw new Exception("Orçamento reprovado não pode ser aprovado."); }
public void Reprova(Orcamento orcamento) { throw new Exception("Orçamento reprovado."); }
protected override double MinimaTaxacao(Orcamento orcamento) { return(orcamento.Valor * 0.06); }
public void AplicaDescontoExtra(Orcamento orcamento) { throw new Exception("Orçamento reprovado não pode receber desconto."); }
protected override double MaximaTaxacao(Orcamento orcamento) { return(orcamento.Valor * 0.10); }
protected override bool DeveUsarMaximaTaxacao(Orcamento orcamento) { return(orcamento.Valor > 500 && temItemMaiorQue100ReaisNo(orcamento)); }
public abstract double Calcula(Orcamento orcamento);
protected double CalculoDoOutroImposto(Orcamento orcamento) { return(OutroImposto == null ? 0 : OutroImposto.Calcula(orcamento)); }
public void Finaliza(Orcamento orcamento) { throw new Exception("Orçamento finalizado."); }