public function delete() { $result = new Result(); if ($this->isPaid()) { $result->addError(new ResultError(Loc::getMessage('SALE_PAYMENT_DELETE_EXIST_PAID'), 'SALE_PAYMENT_DELETE_EXIST_PAID')); return $result; } return parent::delete(); }
/** * @return Result * @throws Main\ObjectNotFoundException */ public function delete() { $result = new Result(); /** @var Result $r */ $r = $this->setField("QUANTITY", 0); if (!$r->isSuccess()) { $result->addErrors($r->getErrors()); return $result; } return parent::delete(); }
/** * Deletes shipment * * @return Result * @throws Main\NotSupportedException * @throws Main\ObjectNotFoundException */ public function delete() { $result = new Result(); if ($this->isShipped()) { $result->addError(new ResultError(Loc::getMessage('SALE_SHIPMENT_EXIST_SHIPPED'), 'SALE_SHIPMENT_EXIST_SHIPPED')); return $result; } if ($this->isAllowDelivery()) { $this->disallowDelivery(); } if (!$this->isSystem()) { $this->setField('BASE_PRICE_DELIVERY', 0); } $this->getShipmentItemCollection()->clearCollection(); $id = $this->getId(); $result = parent::delete(); if ($result->isSuccess()) { Internals\ShipmentExtraServiceTable::deleteByShipmentId($id); } return $result; }
/** * Deletes shipment item * * @throws Main\ArgumentOutOfRangeException * @throws Main\NotSupportedException * @throws \Exception */ public function delete() { $result = new Result(); /** @var ShipmentItemCollection $shipmentItemCollection */ if (!($shipmentItemCollection = $this->getCollection())) { throw new Main\ObjectNotFoundException('Entity "ShipmentItemCollection" not found'); } /** @var Shipment $shipment */ if (!($shipment = $shipmentItemCollection->getShipment())) { throw new Main\ObjectNotFoundException('Entity "Shipment" not found'); } if (!$shipment->isSystem()) { if ($shipment->isShipped()) { /** @var BasketItem $basketItem */ if (!($basketItem = $this->getBasketItem())) { throw new Main\ObjectNotFoundException('Entity "BasketItem" not found'); } $result->addError(new ResultError(Loc::getMessage('SALE_SHIPMENT_ITEM_SHIPMENT_ALREADY_SHIPPED_CANNOT_DELETE', array('#PRODUCT_NAME#' => $basketItem->getField('NAME'))), 'SALE_SHIPMENT_ITEM_SHIPMENT_ALREADY_SHIPPED_CANNOT_DELETE')); return $result; } $r = $this->setField("QUANTITY", 0); if (!$r->isSuccess()) { $result->addErrors($r->getErrors()); return $result; } } elseif ($shipment->isSystem() && $this->getQuantity() > 0) { throw new \ErrorException('System shipment not empty'); } return parent::delete(); }