Esempio n. 1
0
 public function saveRow(Document\Row $row = null, Document $document, Parameters $parameters)
 {
     if ($row == null) {
         $row = new Document\Row();
     }
     if (!$row->getDocument()) {
         $row->setDocument($document);
     }
     if (isset($parameters->description) && $parameters->description != null) {
         $row->setDescription($parameters->description);
     }
     if (isset($parameters->code)) {
         if ($parameters->code != null) {
             $row->setCode($parameters->code);
         } else {
             $row->setCode(null);
         }
     }
     if (isset($parameters->uomId)) {
         $uom = $this->getOneObjectByField(Uom::getClass(), 'id', $parameters->uomId);
         $row->setUom($uom ? $uom : null);
     }
     if (isset($parameters->articleId)) {
         $article = $this->getOneObjectByField(Article::getClass(), 'id', $parameters->articleId);
         $row->setArticle($article ? $article : null);
     }
     if (isset($parameters->warehouse)) {
         $warehouse = $this->getOneObjectByField(Warehouse::getClass(), 'id', $parameters->warehouse);
         $row->setWarehouse($warehouse ? $warehouse : null);
     }
     if (isset($parameters->vatId)) {
         $vat = $this->getOneObjectByField(Vat::getClass(), 'id', $parameters->vatId);
         $row->setVat($vat ? $vat : null);
     }
     if (isset($parameters->quantity)) {
         $row->setQuantity($parameters->quantity);
     }
     if (isset($parameters->price) && $parameters->price != null) {
         $row->setPrice($parameters->price);
     }
     if (isset($parameters->quantity) && isset($parameters->price)) {
         $row->setAmount($parameters->quantity * $parameters->price);
     }
     if (isset($parameters->name) && $parameters->name != null) {
         $row->setName($parameters->name);
     }
     if ($document->getRows() && !$document->getRows()->contains($row)) {
         $document->addRow($row);
     }
     $this->entityManager->persist($row);
     $this->entityManager->flush($row);
     return $row;
 }
Esempio n. 2
0
 private function saveInvoiceRows(Document $invoice, array $data)
 {
     if (isset($data['names'])) {
         foreach ($data['names'] as $key => $value) {
             if ($data['rowIds'][$key] > 0) {
                 $row = $this->getRowById($data['rowIds'][$key]);
             } else {
                 $row = new Row();
             }
             if (!$row->getDocument()) {
                 $row->setDocument($invoice);
             }
             $row->setName($value);
             if (isset($data['articleIds'][$key])) {
                 $article = $this->articleService->getArticleById($data['articleIds'][$key]);
                 if ($article) {
                     $row->setArticle($article);
                 }
             }
             if (isset($data['uomIds'][$key])) {
                 $uom = $this->settingsService->getUomById($data['uomIds'][$key]);
                 if ($uom) {
                     $row->setUom($uom);
                 }
             }
             if (isset($data['vatIds'][$key])) {
                 $vat = $this->settingsService->getVatById($data['vatIds'][$key]);
                 if ($vat) {
                     $row->setVat($vat);
                 }
             }
             if (isset($data['quantities'][$key])) {
                 $row->setQuantity($data['quantities'][$key]);
             }
             if (isset($data['prices'][$key])) {
                 $row->setPrice($data['prices'][$key]);
             }
             if (isset($data['totals'][$key])) {
                 $row->setAmount($data['totals'][$key]);
             }
             if (isset($data['vatAmounts'][$key])) {
                 $row->setVatAmount($data['vatAmounts'][$key]);
             }
             if (isset($data['vatValues'][$key])) {
                 $row->setVatValue($data['vatValues'][$key]);
             }
             if (!$data['rowIds'][$key] > 0) {
                 $invoice->addRow($row);
             }
         }
     }
     return $this->saveInvoice($invoice);
 }