예제 #1
0
        protected override void AplicarDesconto(Produto produto)
        {
            var precoPromocionalDoProduto = _promocaoServices.GetPrecoDoProdutoEmPromocao(produto) ?? 0;

            var valorDeDesconto = produto.ValorUnitarioLiquido - precoPromocionalDoProduto;

            produto.SetValorDeDesconto(valorDeDesconto > 0 ? valorDeDesconto : 0);
        }
예제 #2
0
        private void DefinirPrecoDoProduto(Produto produto)
        {
            if (produto is null)
            {
                return;
            }

            var precoPromocionalDoProduto = _promocaoServices.GetPrecoDoProdutoEmPromocao(produto);

            if (precoPromocionalDoProduto.HasValue)
            {
                var valorDeDesconto = produto.ValorUnitarioLiquido - precoPromocionalDoProduto.Value;
                produto.SetValorDeDesconto(valorDeDesconto > 0 ? valorDeDesconto : 0);
            }
            else if (produto.Quantidade >= 3.0m && produto.Quantidade <= 5.00m)
            {
                var valorDeDesconto = produto.ValorUnitarioBruto * 0.1m;
                produto.SetValorDeDesconto(valorDeDesconto);
            }
            else if (produto.Quantidade > 5.0m)
            {
                var valorDeDesconto = produto.ValorUnitarioBruto * 0.2m;
                produto.SetValorDeDesconto(valorDeDesconto);
            }

            Console.Write(produto.ToString());
        }