Moved destroy() method from CRUD to Account repos.

This commit is contained in:
James Cole
2016-10-09 08:20:29 +02:00
parent 1d2d3523d6
commit a3359ba47a
5 changed files with 34 additions and 25 deletions

View File

@@ -64,6 +64,26 @@ class AccountRepository implements AccountRepositoryInterface
return $count;
}
/**
* Moved here from account CRUD.
*
* @param Account $account
* @param Account $moveTo
*
* @return bool
*/
public function destroy(Account $account, Account $moveTo): bool
{
if (!is_null($moveTo->id)) {
DB::table('transactions')->where('account_id', $account->id)->update(['account_id' => $moveTo->id]);
}
if (!is_null($account)) {
$account->delete();
}
return true;
}
/**
* This method will call AccountRepositoryInterface::journalsInPeriod and get all withdrawaks made from the given $accounts,
* as well as the transfers that move away from those $accounts. This is a slightly sharper selection

View File

@@ -26,6 +26,7 @@ use Illuminate\Support\Collection;
*/
interface AccountRepositoryInterface
{
/**
* Moved here from account CRUD.
*
@@ -35,6 +36,16 @@ interface AccountRepositoryInterface
*/
public function count(array $types): int;
/**
* Moved here from account CRUD.
*
* @param Account $account
* @param Account $moveTo
*
* @return bool
*/
public function destroy(Account $account, Account $moveTo): bool;
/**
* This method will call AccountRepositoryInterface::journalsInPeriod and get all withdrawaks made from the given $accounts,
* as well as the transfers that move away from those $accounts. This is a slightly sharper selection