private static void TemplateMethod1()
        {
            var ikcv      = new IKCV();
            var orcamento = new Orcamento(500.00);

            CalculadorDeImpostos.RealizaCalculo(orcamento, ikcv);
        }
Exemplo n.º 2
0
        private static void TestaStrategyImpostoEInvesitmento()
        {
            var iss  = new ISS();
            var icms = new ICMS();
            var iccc = new ICCC();

            var orcamento = new Orcamento(500);

            var calculador = new CalculadorDeImpostos();

            calculador.RealizaCalculo(orcamento, icms);
            calculador.RealizaCalculo(orcamento, iss);
            calculador.RealizaCalculo(orcamento, iccc);

            Console.ReadKey();

            var conta = new Conta();

            conta.Deposita(500);

            var investidor = new RealizadorDeInvestimentos();

            var conservador = new Conservador();
            var moderado    = new Moderado();
            var arrojado    = new Arrojado();

            investidor.RealizaInvestimento(conta, conservador);
            investidor.RealizaInvestimento(conta, moderado);
            investidor.RealizaInvestimento(conta, arrojado);

            Console.ReadKey();
        }
        private static void Strategy1()
        {
            Imposto iss  = new ISS();
            Imposto icms = new ICMS();

            Orcamento orcamento = new Orcamento(120000.00);

            CalculadorDeImpostos.RealizaCalculo(orcamento, iss);
            CalculadorDeImpostos.RealizaCalculo(orcamento, icms);
        }
Exemplo n.º 4
0
        private static void MostraImpostos()
        {
            Imposto iss = new ISS(new ICMS(new IHIT()));

            Orcamento orcamento = new Orcamento(10000.00);

            CalculadorDeImpostos calculador = new CalculadorDeImpostos();

            calculador.RealizaCalculo(orcamento, iss);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Conceito de Design Patterns estudado: Strategy
        /// </summary>
        public static void ExecutaCalculadorDeImpostos()
        {
            Imposto iss  = new ISS();
            Imposto icms = new ICMS();

            Orcamento orcamento = new Orcamento(500.0);

            CalculadorDeImpostos calculadora = new CalculadorDeImpostos();

            calculadora.RealizaCalculo(orcamento, iss);
        }
Exemplo n.º 6
0
        private static void TestaTemplateMethodImpostoIHIT()
        {
            var orcamento = new Orcamento(100);

            orcamento.AdicionaItem(new Item("Item", 1));
            orcamento.AdicionaItem(new Item("Itex", 1));

            var calculador = new CalculadorDeImpostos();

            calculador.RealizaCalculo(orcamento, new IHIT());

            Console.ReadKey();
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            Imposto              iss        = new ISS();
            Imposto              icms       = new ICMS();
            Orcamento            orcamento  = new Orcamento(500.0);
            CalculadorDeImpostos calculador = new CalculadorDeImpostos();

            // Calculando o ISS
            calculador.RealizaCalculo(orcamento, iss);

            // Calculando o ICMS
            calculador.RealizaCalculo(orcamento, icms);
        }
Exemplo n.º 8
0
        static void Main(string[] args)
        {
            Imposto iss = new ISS();
            Imposto icms = new ICMS();
            Imposto iccc = new ICCC();

            Orcamento orcamento = new Orcamento(5000);

            CalculadorDeImpostos calculador = new CalculadorDeImpostos();

            calculador.RealizaCalculo(orcamento, iccc);

            Console.ReadKey();
        }
Exemplo n.º 9
0
        private static void MostraImpostos2()
        {
            //Imposto iss = new ISS(new ICMS(new IHIT()));
            Imposto   impo      = new ImpostoMuitoAlto(new IKCV());
            Orcamento orcamento = new Orcamento(1000);

            orcamento.AdicionaItem(new Item("Lapis", 1000));
            orcamento.AdicionaItem(new Item("Caneta", 250));
            orcamento.AdicionaItem(new Item("Bolsa", 250));
            orcamento.AdicionaItem(new Item("Lapis", 1000));
            orcamento.AdicionaItem(new Item("borracha", 1000));
            CalculadorDeImpostos calculador = new CalculadorDeImpostos();

            //calculador.RealizaCalculo(orcamento, ikcv);
            //calculador.RealizaCalculo(orcamento, iccp);
            calculador.RealizaCalculo(orcamento, impo);
        }
Exemplo n.º 10
0
        public static void Main(string[] args)
        {
            Imposto iss  = new ISS();
            Imposto icms = new ICMS();
            Imposto iccc = new ICCC();

            Investimento cons  = new Conservador();
            Investimento moder = new Moderado();
            Investimento arroj = new Arrojado();

            Orcamento grana = new Orcamento(10000.0);

            CalculadorDeImpostos calculator = new CalculadorDeImpostos();
            CalculaInvestimento  calcInv    = new CalculaInvestimento();

            calculator.RealizaCalculo(grana, iccc);
            calcInv.calculaInvestimento(grana, arroj);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Conceito de Design Patterns estudado: Template Method
        /// </summary>
        public static void ExecutaCalculadorDeImpostosTemplateMethod()
        {
            Orcamento orcamentoMenorQue500 = new Orcamento(499);
            Orcamento orcamentoMaiorQue500 = new Orcamento(501);

            var impostoICPP = new ICPP();
            var impostoIKCV = new IKCV();

            Console.WriteLine("ICPP e Orcamento menor que R$500");
            CalculadorDeImpostos calculador = new CalculadorDeImpostos();

            calculador.RealizaCalculo(orcamentoMenorQue500, impostoICPP);

            Console.WriteLine("ICPP e Orcamento maior que R$500");
            calculador.RealizaCalculo(orcamentoMaiorQue500, impostoICPP);

            Console.WriteLine("ICKV, Orcamento maior que R$500 e sem item caro (mais de R$100)");
            calculador.RealizaCalculo(orcamentoMaiorQue500, impostoIKCV);

            Console.WriteLine("ICKV, Orcamento maior que R$500 e com item caro (mais de R$100)");
            orcamentoMaiorQue500.Itens.Add(new Item("Item caro", 101));
            calculador.RealizaCalculo(orcamentoMaiorQue500, impostoIKCV);
        }