Exemple #1
0
        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();
        }
Exemple #2
0
        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);
        }