public double Calcula(Orcamento orcamento)
        {
            Desconto d1 = new DescontoPorCincoItens();
            Desconto d2 = new DescontoPorMaisDeQuinhentosReais();
            Desconto d3 = new SemDesconto();

            d1.Proximo = d2; //d1 sabe que se ele falha o proximo e o d2
            d2.Proximo = d3;

            return(d1.Desconta(orcamento));
        }
Exemplo n.º 2
0
        public double Calcula(Orcamento orcamento)
        {
            Desconto d1 = new DescontoPorCincoItens();
            Desconto d2 = new DescontoPorMaisDeQuinhentosReais();
            Desconto d3 = new SemDesconto();

            d1.proximo = d2;
            d2.proximo = d3;

            return(d1.Desconta(orcamento));
        }
        public double Calcula(Orcamento orcamento)
        {
            Desconto cincoItens             = new DescontoPorCincoItens();
            Desconto maisQueQuinhentosReais = new DescontoPorMaisQueQuinhentosReais();
            Desconto SemDesconto            = new SemDesconto();
            Desconto vendaCasada            = new DescontoPorVendaCasada();

            cincoItens.Proximo             = maisQueQuinhentosReais;
            maisQueQuinhentosReais.Proximo = vendaCasada;
            vendaCasada.Proximo            = SemDesconto;

            return(cincoItens.Desconta(orcamento));
        }
Exemplo n.º 4
0
        public double Calcula(Orcamento orcamento)
        {
            var d1 = new DescontoPorCincoItens();
            var d2 = new DescontoPorMaisDeQuinhentosReais();
            var d3 = new DescontoPorVendaCasada();
            var d4 = new SemDesconto();

            d1.Proximo = d2;
            d2.Proximo = d3;
            // d3.Proximo = d4;

            return(d1.Desconta(orcamento));
        }
Exemplo n.º 5
0
        public double Calcula(Orcamento orcamento)
        {
            IDesconto d1 = new DescontoPorCincoItens();
            IDesconto d2 = new DescontoPorMaisDeQuinhentosReais();
            IDesconto d3 = new DescontoPorVendaCasada();
            IDesconto df = new SemDesconto();

            d1.Proximo = d2;
            d2.Proximo = d3;
            d3.Proximo = df;

            return(d1.Desconta(orcamento));
        }
Exemplo n.º 6
0
        static void Testa()
        {
            Desconto d1 = new DescontoPorCincoItens();
            Desconto d2 = new DescontoPorMaisDeQuinhentosReais();
            Desconto d3 = new DescontoPorVendaCasada();
            Desconto d4 = new SemDesconto();

            d1.Proximo = d2;
            d2.Proximo = d3;
            d3.Proximo = d4;

            Orcamento orcamento = new Orcamento(500.0);

            double desconto = d1.Desconta(orcamento);

            Console.WriteLine(desconto);
        }
Exemplo n.º 7
0
        public double Calcula(Orcamento orcamento)
        {
            IDesconto d1 = new DescontoPorCincoItens();
            IDesconto d2 = new DescontoPorMaisDeQuinhentosReais();

            d1.Proximo = d2;

            return(d1.Desconta(orcamento));

            //double desconto = new DescontoPorCincoItens().Desconta(orcamento);

            //if (desconto == 0)
            //    desconto = new DescontoPorMaisDeQuinhentosReais().Desconta(orcamento);

            ////if(desconto == 0) ...

            //return desconto;
        }
Exemplo n.º 8
0
        public double Calcula(Orcamento orcamento)
        {
            //regra mais de 5 itens
            //if(orcamento.Itens.Count > 5)
            //{
            //    return orcamento.Valor * 0.1;
            //}
            //else if(orcamento.Valor > 500.0)
            //{
            //    return orca   mento.Valor * 0.07;
            //}

            Desconto d1 = new DescontoPorCincoItens();
            Desconto d2 = new DescontePorMaisDeQuinhentos();
            Desconto d3 = new DescontoPorVendaCasada();
            Desconto d4 = new SemDesconto();

            d1.Proximo = d2;
            d2.Proximo = d3;
            d3.Proximo = d4;
            return(d1.Desconta(orcamento));
        }