credit = $credit; $this->reminder_template = $reminder_template; $this->contact = $contact; } /** * Builds the correct template to send. */ public function run() { if (! $this->reminder_template) { $this->reminder_template = $this->credit->calculateTemplate('credit'); } $this->credit->service()->markSent()->save(); $this->credit->invitations->each(function ($invitation) { if (! $invitation->contact->trashed() && $invitation->contact->email) { EmailEntity::dispatch($invitation, $invitation->company, $this->reminder_template)->delay(2); } }); if ($this->credit->invitations->count() >= 1) { event(new CreditWasEmailed($this->credit->invitations->first(), $this->credit->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null), 'credit')); $this->credit->sendEvent(Webhook::EVENT_SENT_CREDIT, "client"); } } }