Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="valorCompra"></param>
        /// <returns></returns>
        public double Calcular(double valorCompra)
        {
            var valorDescontoCompraBasica = this.RecuperarValorDesconto(VOL.TipoDescontoEnum.CompraBasica);
            var valorDescontoCompraGrande = this.RecuperarValorDesconto(VOL.TipoDescontoEnum.CompraGrande);

            var    calculadoraDesconto    = new CalculadoraDesconto();
            double valorCompraComDesconto = calculadoraDesconto.Calcular(valorCompra, valorDescontoCompraBasica, valorDescontoCompraGrande);

            return(valorCompraComDesconto);
        }
Esempio n. 2
0
        /// <summary>
        /// Chais of Responsability - Usa-se esse padrao quando temos um cenario onde
        /// precisamos "achar" a regra adequada a ser executada dentro do cenario.
        /// Neste caso, temos formas diferentes de aplicar desconto em uma compra, de acordo
        /// com os dados da compra ( valor e quantidade de itens nesse caso ), deve ser aplicado um ou outro
        /// desconto, atraves de uma corrente de regras de desconto, localizamos o desconto de acordo com a compra.
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Compras.Compras c             = new Compras.Compras(750);
            Produtos        p             = new Produtos("monitor", 700);
            List <Produtos> listaProdutos = new List <Produtos>();

            listaProdutos.Add(p);
            listaProdutos.Add(p);
            listaProdutos.Add(p);
            listaProdutos.Add(p);
            listaProdutos.Add(p);
            listaProdutos.Add(p);

            c.produtos = listaProdutos;

            double valor = CalculadoraDesconto.AplicarDesconto(c);

            Console.WriteLine(valor);
            Console.Read();
        }