2017-01-30 21:40:43 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Ninja\Repositories;
|
2016-07-06 21:35:16 +03:00
|
|
|
|
|
|
|
|
use App\Models\ExpenseCategory;
|
2017-01-30 21:40:43 +02:00
|
|
|
use Auth;
|
|
|
|
|
use DB;
|
2016-07-06 21:35:16 +03:00
|
|
|
|
|
|
|
|
class ExpenseCategoryRepository extends BaseRepository
|
|
|
|
|
{
|
|
|
|
|
public function getClassName()
|
|
|
|
|
{
|
|
|
|
|
return 'App\Models\ExpenseCategory';
|
|
|
|
|
}
|
|
|
|
|
|
2016-10-05 23:46:15 +03:00
|
|
|
public function all()
|
|
|
|
|
{
|
|
|
|
|
return ExpenseCategory::scope()->get();
|
|
|
|
|
}
|
|
|
|
|
|
2016-07-06 21:35:16 +03:00
|
|
|
public function find($filter = null)
|
|
|
|
|
{
|
|
|
|
|
$query = DB::table('expense_categories')
|
|
|
|
|
->where('expense_categories.account_id', '=', Auth::user()->account_id)
|
|
|
|
|
->select(
|
|
|
|
|
'expense_categories.name as category',
|
|
|
|
|
'expense_categories.public_id',
|
2016-07-07 11:44:15 +03:00
|
|
|
'expense_categories.user_id',
|
2016-11-29 19:47:26 +02:00
|
|
|
'expense_categories.deleted_at',
|
|
|
|
|
'expense_categories.is_deleted'
|
2016-07-06 21:35:16 +03:00
|
|
|
);
|
|
|
|
|
|
2016-11-18 15:31:43 +02:00
|
|
|
$this->applyFilters($query, ENTITY_EXPENSE_CATEGORY);
|
2016-07-06 21:35:16 +03:00
|
|
|
|
|
|
|
|
if ($filter) {
|
|
|
|
|
$query->where(function ($query) use ($filter) {
|
|
|
|
|
$query->where('expense_categories.name', 'like', '%'.$filter.'%');
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $query;
|
|
|
|
|
}
|
|
|
|
|
|
2016-07-21 15:35:23 +03:00
|
|
|
public function save($input, $category = false)
|
2016-07-06 21:35:16 +03:00
|
|
|
{
|
2016-07-21 15:35:23 +03:00
|
|
|
$publicId = isset($data['public_id']) ? $data['public_id'] : false;
|
|
|
|
|
|
2017-01-30 18:05:31 +02:00
|
|
|
if (! $category) {
|
2016-07-06 21:35:16 +03:00
|
|
|
$category = ExpenseCategory::createNew();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$category->fill($input);
|
|
|
|
|
$category->save();
|
|
|
|
|
|
|
|
|
|
return $category;
|
|
|
|
|
}
|
|
|
|
|
}
|