alternativeSave($data, $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 { return $invoice->service()->markSent()->save(); } public function getInvitationByKey($key) :?InvoiceInvitation { return InvoiceInvitation::whereRaw("BINARY `key`= ?", [$key])->first(); } /** * Method is not protected, assumes that * other protections have been implemented prior * to hitting this method. * * ie. invoice can be deleted from a business logic perspective. * * @param Invoice $invoice * @return Invoice $invoice */ public function delete($invoice) { if ($invoice->is_deleted) { return; } $invoice->is_deleted = true; $invoice->save(); $invoice->delete(); event(new InvoiceWasDeleted($invoice, $invoice->company)); return $invoice; } public function reverse() { } public function cancel() { } }