/** * 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; }