Ejemplo n.º 1
0
 /**
  * Fill basket.
  *
  * @param Basket $basket			Basket.
  * @return Result
  * @throws Main\NotSupportedException
  * @throws Main\ObjectNotFoundException
  */
 public function setBasket(Basket $basket)
 {
     $result = new Result();
     $isStartField = $this->isStartField();
     $r = parent::setBasket($basket);
     if (!$r->isSuccess()) {
         $result->addErrors($r->getErrors());
         return $result;
     }
     $shipmentCollection = $this->getShipmentCollection();
     /** @var Result $r */
     $r = $shipmentCollection->resetCollection();
     if (!$r->isSuccess()) {
         $result->addErrors($r->getErrors());
         return $result;
     }
     if (!$this->isMathActionOnly()) {
         /** @var Result $r */
         $r = $this->refreshData();
         if (!$r->isSuccess()) {
             $result->addErrors($r->getErrors());
         }
     }
     if ($isStartField) {
         $hasMeaningfulFields = $this->hasMeaningfulField();
         /** @var Result $r */
         $r = $this->doFinalAction($hasMeaningfulFields);
         if (!$r->isSuccess()) {
             $result->addErrors($r->getErrors());
         }
     }
     return $result;
 }
Ejemplo n.º 2
0
 /**
  * Fill basket.
  *
  * @param Basket $basket			Basket.
  * @return Result
  * @throws Main\NotSupportedException
  * @throws Main\ObjectNotFoundException
  */
 public function setBasket(Basket $basket)
 {
     $result = new Result();
     $isStartField = $this->isStartField();
     $r = parent::setBasket($basket);
     if (!$r->isSuccess()) {
         $result->addErrors($r->getErrors());
         return $result;
     }
     /** @var ShipmentCollection $shipmentCollection */
     if (!($shipmentCollection = $this->getShipmentCollection())) {
         throw new Main\ObjectNotFoundException('Entity "ShipmentCollection" not found');
     }
     /** @var Result $r */
     $r = $shipmentCollection->resetCollection();
     if (!$r->isSuccess()) {
         $result->addErrors($r->getErrors());
         return $result;
     }
     if (!$this->isMathActionOnly()) {
         /** @var Result $r */
         $r = $this->refreshData();
         if (!$r->isSuccess()) {
             $result->addErrors($r->getErrors());
         }
     }
     if ($isStartField) {
         $hasMeaningfulFields = $this->hasMeaningfulField();
         /** @var Result $r */
         $r = $this->doFinalAction($hasMeaningfulFields);
         if (!$r->isSuccess()) {
             $result->addErrors($r->getErrors());
         }
     }
     return $result;
 }