client = $client; $this->invoice = $invoice; } public function run() { /* Return immediately if status is not draft */ if ($this->invoice->status_id != Invoice::STATUS_DRAFT) { return $this->invoice; } info("in mark sent"); info($this->invoice->balance); $this->invoice->markInvitationsSent(); $this->invoice->setReminder(); $this->invoice ->service() ->setStatus(Invoice::STATUS_SENT) ->applyNumber() ->setDueDate() ->updateBalance($this->invoice->amount) ->save(); info($this->invoice->balance); $this->client->service()->updateBalance($this->invoice->balance)->save(); info($this->client->balance); $this->invoice->ledger()->updateInvoiceBalance($this->invoice->balance); event(new InvoiceWasUpdated($this->invoice, $this->invoice->company, Ninja::eventVars())); return $this->invoice->fresh(); } }