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