diff --git a/app/Repositories/InvoiceRepository.php b/app/Repositories/InvoiceRepository.php index 8cfc4218ca8d..8b26b876d779 100644 --- a/app/Repositories/InvoiceRepository.php +++ b/app/Repositories/InvoiceRepository.php @@ -13,12 +13,26 @@ class InvoiceRepository extends BaseRepository { + /** + * Gets the class name. + * + * @return ::class The class name. + */ public function getClassName() { return Invoice::class; } + - public function save($data, Invoice $invoice) : ?Invoice + /** + * Saves the invoices + * + * @param array. $data The invoice data + * @param InvoiceCalc|\App\Models\Invoice $invoice The invoice + * + * @return Invoice|InvoiceCalc|\App\Models\Invoice|null Returns the invoice object + */ + public function save($data, Invoice $invoice) : ?Invoice { $invoice->fill($data); @@ -35,4 +49,25 @@ class InvoiceRepository extends BaseRepository return $invoice; } + + /** + * Mark the invoice as sent. + * + * @param \App\Models\Invoice $invoice The invoice + * + * @return Invoice|\App\Models\Invoice|null Return the invoice object + */ + public function markSent(Invoice $invoice) : ?Invoice + { + + if($invoice->status_id >= Invoice::STATUS_SENT) + return; + + $invoice->status_id = Invoice::STATUS_SENT; + $invoice->save(); + + return $invoice; + + } + } \ No newline at end of file