Exemple #1
0
 public function addProduct($idArticulo, $unidades)
 {
     $ok = false;
     $filtro = "session='{$_SESSION['IdSesion']}' and IDArticulo='{$idArticulo}'";
     $rows = $this->cargaCondicion("Id", $filtro);
     if ($rows[0]['Id']) {
         $carrito = new Carrito($rows[0]['Id']);
         $carrito->setUnidades($carrito->getUnidades() + $unidades);
         $carrito->setImporte($carrito->getUnidades() * $carrito->getPrecio() * (1 - $carrito->getDescuento() / 100));
         $ok = $carrito->save();
         unset($carrito);
     } else {
         $articulo = new Articulos($idArticulo);
         $this->sesion = $_SESSION['IdSesion'];
         $this->IpOrigen = $_SERVER['REMOTE_ADDR'];
         $this->UserAgent = $_SERVER['HTTP_USER_AGENT'];
         $this->IDArticulo = $idArticulo;
         $this->Descripcion = $articulo->getDescripcion();
         $this->Unidades = $unidades;
         $this->UnidadMedida = $articulo->getUnidadMedida("UMV");
         $this->Precio = $articulo->getPrecioVentaConImpuestos();
         $this->Descuento = 0;
         $this->Importe = $this->Unidades * $this->Precio * (1 - $this->Descuento / 100);
         $this->Iva = $articulo->getIDIva()->getIva();
         $this->Recargo = $articulo->getIDIva()->getRecargo();
         $this->Estado = 0;
         $ok = $this->create() > 0;
         unset($articulo);
     }
     return $ok;
 }
 /**
  * Añade o incrementa un artículo al carrito asociado
  * a la sesión en curso
  * 
  * @param array $articulo Array con los datos del articulo
  * @param integer $unidades Las unidades de producto
  * @return integer El id de la línea creada
  */
 static function addProduct($articulo, $unidades = 1)
 {
     $unidades = $unidades < 1 ? 1 : $unidades;
     $filtro = "Sesion='{$_SESSION['IdSesion']}' and Sku='{$articulo->Sku}'";
     $carrito = new Carrito();
     $rows = $carrito->cargaCondicion("Id", $filtro);
     if (isset($rows[0]['Id'])) {
         $carrito = new Carrito($rows[0]['Id']);
         $carrito->setUnidades($carrito->getUnidades() + $unidades);
         $carrito->setImporte($carrito->getUnidades() * $carrito->getPrecio());
         $id = $carrito->save() ? $rows[0]['Id'] : 0;
         self::$errores = $carrito->getErrores();
         self::$alertas = $carrito->getAlertas();
     } else {
         $ivaIncluido = 1;
         //($_SESSION['varEnv']['Pro']['ivaIncluido']) ? 1 : 0;
         $carrito->setsesion($_SESSION['IdSesion']);
         $carrito->setIpOrigen($_SERVER['REMOTE_ADDR']);
         $carrito->setUserAgent($_SERVER['HTTP_USER_AGENT']);
         $carrito->setIdSucursal($_SESSION['usuarioPortal']['SucursalActiva']['Id']);
         $carrito->setIdDistribuidora($articulo->IdDistribuidora);
         $carrito->setIdUsuario($_SESSION['usuarioPortal']['Id']);
         $carrito->setSku($articulo->Sku);
         $carrito->setEan($articulo->Ean);
         $carrito->setDescripcion($articulo->Titulo);
         $carrito->setAutor($articulo->Autor);
         $carrito->setEditorial($articulo->Editorial);
         $carrito->setUnidades($unidades);
         $carrito->setPrecio($articulo->Precio);
         $carrito->setUrlImagen($articulo->urlimagen);
         $carrito->setDescuento($articulo->Descuento);
         $carrito->setPvd($articulo->Precio * (1 - $articulo->Descuento / 100));
         $carrito->setImporte($carrito->getUnidades() * $carrito->getPrecio());
         $carrito->setIva($articulo->Iva);
         //$carrito->setRecargo($articulo->getIDIva()->getRecargo());
         $carrito->setEstado(0);
         $carrito->setIvaIncluido($ivaIncluido);
         $id = $carrito->create();
         self::$errores = $carrito->getErrores();
         self::$alertas = $carrito->getAlertas();
         unset($articulo);
     }
     unset($carrito);
     return $id;
 }