public function desconto(Orcamento $Orcamento)
 {
     if ($Orcamento->getValor() > 300) {
         return $Orcamento->getValor() * 0.01;
     } else {
         return $this->proximoDesconto->desconto($Orcamento);
     }
 }
 public function aplicaDesconto(Orcamento $Orcamento)
 {
     if (!$this->descontoAplicado) {
         $Orcamento->setValor($Orcamento->getValor() - $Orcamento->getValor() * 0.02);
         $this->descontoAplicado = true;
     } else {
         throw new Exception("Desconto já Aplicado");
     }
 }
 public function desconto(Orcamento $Orcamento)
 {
     if (count($Orcamento->getItens()) >= 5) {
         return $Orcamento->getValor() * 0.1;
     } else {
         $this->proximo->desconto($Orcamento);
     }
 }
Esempio n. 4
0
 public function calcula(Orcamento $orcamento)
 {
     if ($orcamento->getValor() < 1000) {
         return $orcamento->getValor() * 0.05;
     } else {
         if ($orcamento->getValor() >= 1000 && $orcamento->getValor() <= 3000) {
             return $orcamento->getValor() * 0.07000000000000001;
         } else {
             return $orcamento->getValor() * 0.08 + 30;
         }
     }
 }
Esempio n. 5
0
 public function calcula(Orcamento $Orcamento)
 {
     return $Orcamento->getValor() * 0.05 + 50 + $this->calculaOutroImposto($Orcamento);
 }
Esempio n. 6
0
 protected function minimaTaxacao(Orcamento $Orcamento)
 {
     return $Orcamento->getValor() * 0.05 + $this->calculaOutroImposto($Orcamento);
 }
 public function aplica(Orcamento $Orcamento)
 {
     $Orcamento->setValor($Orcamento->getValor() - $Orcamento->getValor() * 0.02);
 }
Esempio n. 8
0
 protected function minimaTaxacao(Orcamento $Orcamento)
 {
     return $Orcamento->getValor() * 0.01 * count($Orcamento->getItens());
 }
Esempio n. 9
0
require "Orcamento.php";
require "CalculadoraDeImpostos.php";
require "Imposto.php";
require "TemplateDeImpostoCondicional.php";
require "ICMS.php";
require "ISS.php";
require "KCV.php";
require "CalculadoraDeDescontos.php";
require "Item.php";
require "EstadoDeUmOrcamento.php";
require "Aprovado.php";
require "Reprovado.php";
require "EmAprovacao.php";
require "Finalizado.php";
$reforma = new Orcamento(490);
echo $reforma->getValor() . "<br/>";
$reforma->aplicaDesconto();
echo $reforma->getValor() . "<br/>";
$reforma->aprova();
$reforma->aplicaDesconto();
echo $reforma->getValor() . "<br/>";
$reforma->finaliza();
$reforma->aplicaDesconto();
$calculadora = new CalculadoraDeImpostos();
echo $calculadora->calcula($reforma, new ICMS()) . "<br/>";
echo $calculadora->calcula($reforma, new ISS()) . "<br/>";
echo $calculadora->calcula($reforma, new KCV());
//Descontos
echo "<br>Testes de descontos<br>";
$CalculadoraDeDescontos = new CalculadoraDeDescontos();
echo "Desconto<br>";
Esempio n. 10
0
 public function taxacaoMaxima(Orcamento $Orcamento)
 {
     return $Orcamento->getValor() * 0.15;
 }
Esempio n. 11
0
<?php

require_once 'Orcamento.php';
require_once 'EstadoDeUmOrcamento.php';
require_once 'EmAprovacao.php';
require_once 'Aprovado.php';
require_once 'Reprovado.php';
require_once 'Finalizado.php';
$Orcamento = new Orcamento(500);
echo $Orcamento->getValor() . "</br>";
$Orcamento->aplicaDesconto();
$Orcamento->aplicaDesconto();
echo $Orcamento->getValor() . "</br>";
$Orcamento->aprova();
$Orcamento->aplicaDesconto();
$Orcamento->aplicaDesconto();
echo $Orcamento->getValor() . "</br>";