App\Console\Commands\SendReminders::fire PHP Method

fire() public method

public fire ( )
    public function fire()
    {
        $this->info(date('Y-m-d') . ' Running SendReminders...');
        $accounts = $this->accountRepo->findWithReminders();
        $this->info(count($accounts) . ' accounts found');
        /** @var \App\Models\Account $account */
        foreach ($accounts as $account) {
            if (!$account->hasFeature(FEATURE_EMAIL_TEMPLATES_REMINDERS)) {
                continue;
            }
            $invoices = $this->invoiceRepo->findNeedingReminding($account);
            $this->info($account->name . ': ' . count($invoices) . ' invoices found');
            /** @var Invoice $invoice */
            foreach ($invoices as $invoice) {
                if ($reminder = $account->getInvoiceReminder($invoice)) {
                    $this->info('Send to ' . $invoice->id);
                    $this->mailer->sendInvoice($invoice, $reminder);
                }
            }
        }
        $this->info('Done');
    }