Пример #1
0
 /**
  * Enter description here...
  *
  * @param RM_Holder_iHolderable $obEquipment
  * @param RM_Holder_Object $obDestinationHolder
  * @return int
  */
 public function moveEntity(RM_Holder_iHolderable $obEntity, RM_Holder_Object $obDestinationHolder)
 {
     $obEntity->setHolder($obDestinationHolder);
     return $obEntity->save();
 }
Пример #2
0
 /**
  * Remove equipment from invoice
  *
  * @param 		RM_Holder_iHolderable $obEntity
  * @return 		void
  */
 public function removeEntity(RM_Holder_iHolderable $obEntity)
 {
     if (!$this->canChangeItemState()) {
         return FALSE;
     }
     $this->_items();
     if ($this->is_deleted || $this->state == RM_Holder_Invoice_State::CLOSED) {
         throw new RM_Base_Exception_BadUsage(__METHOD__ . ' : change closed invoice');
     }
     if (!isset($this->_items[$obEntity->guidType()][$obEntity->id()])) {
         throw new RM_Base_Exception_BadUsage(__METHOD__ . ' : remove unknown entity');
     }
     if (!$this->_items[$obEntity->guidType()][$obEntity->id()]->changeState(RM_Holder_Invoice_Item_State::DEL)) {
         return FALSE;
     }
     $this->_items[$obEntity->guidType()][$obEntity->id()]->mdate = M('Date')->dbDateTime();
     if ($this->_items[$obEntity->guidType()][$obEntity->id()]->save()) {
         unset($this->_items[$obEntity->guidType()][$obEntity->id()]);
         $obEntity->setInvoice();
         $obEntity->save();
     }
     return TRUE;
 }