1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 13:12:50 +01:00
invoiceninja/app/Repositories/RecurringInvoiceRepository.php
David Bomba 7eb0f8d44b
Invoice calculations (#2994)
* Add traits for invoice calculations

* V2 of invoice calculator

* Tests for invoice item calculator

* Test for Invoice Item Calculations

* Invoice Calculation Tests

* fix for tests

* Fixes for invoice calculations
2019-10-16 20:28:52 +11:00

46 lines
1010 B
PHP

<?php
/**
* Invoice Ninja (https://invoiceninja.com)
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2019. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://opensource.org/licenses/AAL
*/
namespace App\Repositories;
use App\Helpers\Invoice\InvoiceSum;
use App\Models\RecurringInvoice;
use Illuminate\Http\Request;
/**
* RecurringInvoiceRepository
*/
class RecurringInvoiceRepository extends BaseRepository
{
public function getClassName()
{
return RecurringInvoice::class;
}
public function save($data, RecurringInvoice $invoice) : ?RecurringInvoice
{
$invoice->fill($data);
$invoice->save();
$invoice_calc = new InvoiceSum($invoice, $invoice->settings);
$invoice = $invoice_calc->build()->getInvoice();
//fire events here that cascading from the saving of an invoice
//ie. client balance update...
return $invoice;
}
}