public function get($identifier, Hazel_Shop_Basket_Item $item) { // Valor Inicial $value = 0.0; // Identificador do Pedido switch ($identifier) { case self::CALCULATE_VALUE: // Valor do Produto $value = $item->getProductValue() + array_sum($item->getValues()); break; case self::CALCULATE_TOTAL: // Valor pela Quantidade $value = $this->get(self::CALCULATE_VALUE, $item) * $item->getQuantity(); break; default: // Valor Padrão $value = 0.0; } // Valor Negativo if ($value < 0) { // Valor Zerado $value = 0.0; } // Resultados return $value; }
/** * Inclusão de Item * * Podemos adicionar um item no Carrinho de Compras através do objeto de * armazenamento. Caso o Carrinho já possua um item com o mesmo código de * produto, a instância adiciona uma unidade ao elemento existente. * * @param Item $item Elemento para Inclusão * @return Hazel_Shop_Basket_Basket Próprio Objeto para Encadeamento */ public function addItem(Hazel_Shop_Basket_Item $item) { // Código do Produto $code = $item->getProductCode(); // Verificar Existência if ($this->isItem($code)) { // Adicionar Quantidade $this->getItem($code)->addQuantity(1); } else { // Armazenar Item $this->_items[$code] = $item; } // Encadeamento return $this; }