/** * Run the database seeds. * * @return void */ public function run() { TransactionType::create(['code' => 'DP', 'description' => 'Deposit', 'account_type' => 'CR']); TransactionType::create(['code' => 'DV', 'description' => 'Dividend', 'account_type' => 'CR']); TransactionType::create(['code' => 'WD', 'description' => 'Withdraw', 'account_type' => 'DR']); TransactionType::create(['code' => 'MF', 'description' => 'Membership Fee', 'account_type' => 'DR']); }
/** * * Description: Update Selected Transaction * Component: EditTransactionFormModal * */ public function updateTransaction(SaveTransactionPostRequest $request) { $transaction = Transaction::find($request->input('id')); $transactionType = TransactionType::where('code', $request->input('transactionType'))->first(); if ($transactionType->account_type === 'DR') { $this->validate($request, ['amount' => 'max:' . $account->balance]); } $transaction->transactionDate = Carbon::parse($request->input('transactionDate'))->toDateString(); $transaction->amount = $request->input('amount'); $transaction->transaction_type_id = $transactionType->id; $transaction->notes = $request->input('notes') === '' ? null : $request->input('notes'); $transaction->touch(); $transaction->save(); $transaction->account->balance = $this->recomputeRunningBalance($transaction->account_id); $transaction->account->save(); return response()->json(['message' => 'Transaction Updated.']); }
public function getTransactionTypes() { $types = TransactionType::all(['id', 'code', 'description']); return $types; }