示例#1
0
 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();
 }
示例#2
0
 /**
  * @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();
 }
示例#3
0
 /**
  * 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;
 }
示例#4
0
 /**
  * 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();
 }