diff --git a/app/Services/PurchaseOrder/PurchaseOrderService.php b/app/Services/PurchaseOrder/PurchaseOrderService.php new file mode 100644 index 000000000000..ffb2cb84d164 --- /dev/null +++ b/app/Services/PurchaseOrder/PurchaseOrderService.php @@ -0,0 +1,57 @@ +purchase_order = $purchase_order; + } + + /** + * Saves the purchase order. + * @return \App\Models\PurchaseOrder object + */ + public function save(): ?PurchaseOrder + { + $this->purchase_order->saveQuietly(); + + return $this->purchase_order; + } + + public function fillDefaults() + { + $settings = $this->purchase_order->client->getMergedSettings(); + + //TODO implement design, footer, terms + + + /* If client currency differs from the company default currency, then insert the client exchange rate on the model.*/ + if (!isset($this->purchase_order->exchange_rate) && $this->purchase_order->client->currency()->id != (int)$this->purchase_order->company->settings->currency_id) + $this->purchase_order->exchange_rate = $this->purchase_order->client->currency()->exchange_rate; + + if (!isset($this->purchase_order->public_notes)) + $this->purchase_order->public_notes = $this->purchase_order->client->public_notes; + + + return $this; + } +}