/** * @param TblCommodity $tblCommodity * @param TblItem $tblItem * @param TblBasket $tblBasket * @param TblBasketItem $tblBasketItem * @param TblInvoice $tblInvoice */ private function actionCreateInvoiceItem(TblCommodity $tblCommodity, TblItem $tblItem, TblBasket $tblBasket, TblBasketItem $tblBasketItem, TblInvoice $tblInvoice) { $Entity = new TblInvoiceItem(); $Entity->setCommodityName($tblCommodity->getName()); $Entity->setCommodityDescription($tblCommodity->getDescription()); $Entity->setItemName($tblItem->getName()); $Entity->setItemDescription($tblItem->getDescription()); if ($tblCommodity->getTblCommodityType()->getName() == 'Einzelleistung') { $Entity->setItemPrice($tblBasketItem->getPrice()); } else { $Entity->setItemPrice($tblBasketItem->getPrice() / Basket::useService()->countPersonByBasket($tblBasket)); } $Entity->setItemQuantity($tblBasketItem->getQuantity()); $Entity->setTblInvoice($tblInvoice); $this->Connection->getEntityManager()->saveEntity($Entity); Protocol::useService()->createInsertEntry($this->Connection->getDatabase(), $Entity); $tblItemAccountList = Commodity::useService()->entityItemAccountAllByItem($tblItem); /** @var TblItemAccount $tblItemAccount */ foreach ($tblItemAccountList as $tblItemAccount) { $EntityItemAccount = new TblInvoiceAccount(); $EntityItemAccount->setTblInvoiceItem($Entity); $EntityItemAccount->setServiceBilling_Account($tblItemAccount->getServiceBilling_Account()); $this->Connection->getEntityManager()->saveEntity($EntityItemAccount); Protocol::useService()->createInsertEntry($this->Connection->getDatabase(), $EntityItemAccount); } }
/** * @param TblBasketItem $tblBasketItem * @param $Price * @param $Quantity * * @return bool */ public function actionEditBasketItem(TblBasketItem $tblBasketItem, $Price, $Quantity) { $Manager = $this->Connection->getEntityManager(); /** @var TblBasketItem $Entity */ $Entity = $Manager->getEntityById('TblBasketItem', $tblBasketItem->getId()); $Protocol = clone $Entity; if (null !== $Entity) { $Entity->setPrice(str_replace(',', '.', $Price)); $Entity->setQuantity(str_replace(',', '.', $Quantity)); $Manager->saveEntity($Entity); Protocol::useService()->createUpdateEntry($this->Connection->getDatabase(), $Protocol, $Entity); return true; } return false; }