private static void DecoratorImpostoTest() { var orcamento = new Orcamento(10); var calculador = new CalculadorImposto(); Console.WriteLine("Calculando imposto icms com iss..."); calculador.CalcularImposto(orcamento, new Icms(new Iss())); Console.ReadLine(); }
private static void TemplateMethodImpostoTest() { var orcamento = new Orcamento(10); var calculador = new CalculadorImposto(); Console.WriteLine("Calculando imposto icpp..."); calculador.CalcularImposto(orcamento, new Icpp()); Console.WriteLine("Calculando imposto iksv..."); calculador.CalcularImposto(orcamento, new Iksv()); Console.ReadLine(); }
public double CalcularTotal(CalculadorImposto calcImp, CalculadorDesconto calcDesc) { double total = 0.0; foreach (var item in itens) { double subtotal = item.CalcularTotal(); double subtotalImposto = calcImp.CalcularImposto(item.Produto, usuario); double subtotalDesconto = calcDesc.CalcularDesconto(item.Produto, usuario, subtotalImposto); double subtotalFinal = subtotal + subtotalImposto - subtotalDesconto; total += subtotalFinal; } return(total); }