New converters for #180 (Bill)

This commit is contained in:
James Cole 2016-04-01 13:07:19 +02:00
parent d9a4840e37
commit e4d93cad27
4 changed files with 38 additions and 6 deletions

View File

@ -4,6 +4,7 @@ namespace FireflyIII\Helpers\Csv\Converter;
use Auth;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
/**
* Class BillId
@ -18,11 +19,14 @@ class BillId extends BasicConverter implements ConverterInterface
*/
public function convert()
{
/** @var BillRepositoryInterface $repository */
$repository = app('FireflyIII\Repositories\Bill\BillRepositoryInterface');
// is mapped? Then it's easy!
if (isset($this->mapped[$this->index][$this->value])) {
$bill = Auth::user()->bills()->find($this->mapped[$this->index][$this->value]);
$bill = $repository->find($this->mapped[$this->index][$this->value]);
} else {
$bill = Auth::user()->bills()->find($this->value);
$bill = $repository->find($this->value);
}
return $bill;

View File

@ -2,8 +2,8 @@
declare(strict_types = 1);
namespace FireflyIII\Helpers\Csv\Converter;
use Auth;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
/**
* Class BillName
@ -18,13 +18,15 @@ class BillName extends BasicConverter implements ConverterInterface
*/
public function convert()
{
/** @var BillRepositoryInterface $repository */
$repository = app('FireflyIII\Repositories\Bill\BillRepositoryInterface');
$bill = null;
// is mapped? Then it's easy!
if (isset($this->mapped[$this->index][$this->value])) {
$bill = Auth::user()->bills()->find($this->mapped[$this->index][$this->value]);
$bill = $repository->find($this->mapped[$this->index][$this->value]);
} else {
$bills = Auth::user()->bills()->get();
$bills = $repository->getBills();
/** @var Bill $bill */
foreach ($bills as $bill) {
if ($bill->name == $this->value) {

View File

@ -49,6 +49,23 @@ class BillRepository implements BillRepositoryInterface
return true;
}
/**
* Find a bill by ID.
*
* @param int $billId
*
* @return Bill
*/
public function find(int $billId) : Bill
{
$bill = $this->user->bills()->find($billId);
if (is_null($bill)) {
$bill = new Bill;
}
return $bill;
}
/**
* @return Collection
*/

View File

@ -23,6 +23,15 @@ interface BillRepositoryInterface
*/
public function destroy(Bill $bill): bool;
/**
* Find a bill by ID.
*
* @param int $billId
*
* @return Bill
*/
public function find(int $billId) : Bill;
/**
* @return Collection
*/