Example #1
0
 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;
 }
Example #2
0
 /**
  * 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;
 }