Olá!
Fiz o meu código seguindo a videoaula e testei também com o código fornecido no exercício. Das duas formas continuo recebendo o mesmo erro:
Fatal error: Call to undefined function temVendaCasada() in C:\wamp64\www\design-patterns\DescontoPorVendaCasada.php on line 38
Segue o código da minha classe DescontoPorVendaCasada
<?php
// P1 ...
class DescontoPorVendaCasada implements IDesconto {
// P2.1 ...
private $proximo_desconto;
// P5 ...
private function existe($f_nome_item, Orcamento $f_orcamento) {
foreach ($f_orcamento->getItens() as $f_item) {
if ($f_item->getNome() == $f_nome_item) {
return true;
} else {
return false;
}
}
}
// P4 ...
private function temVendaCasada(Orcamento $f_orcamento) {
return $this->existe("Tijolo", $f_orcamento) && $this->existe("Cimento", $f_orcamento);
}
// P3 ...
public function desconta(Orcamento $f_orcamento) {
if (temVendaCasada($f_orcamento)) {
return $f_orcamento->getValor() * 0.05;
} else {
return $this->proximo_desconto->desconta($f_orcamento);
}
}
// P2.2 ...
public function setProximo(IDesconto $f_proximo) {
$this->proximo_desconto = $f_proximo;
}
/* # Código fornecido no exercício
public function desconta(Orcamento $orcamento) {
if(aconteceuVendaCasadaEm($orcamento)) return $orcamento->getValor() * 0.05;
else return $this->proximo->calcula($orcamento);
}
private function aconteceuVendaCasadaEm(Orcamento $orcamento) {
return $this->existe("CANETA", $orcamento) && $this->existe("LAPIS", $orcamento);
}
private function existe($nomeDoItem, Orcamento $orcamento) {
foreach ($orcamento->getItens() as $item) {
if($item->getNome() == $nomeDoItem) return true;
}
return false;
}
public function setProximo(IDesconto $proximo) {
$this->proximo = $proximo;
} */
}
Não estou conseguindo identificar aonde está o erro. Por gentileza, alguém poderia me ajudar?