public static function offsetLoan($data) { $loanaccount_id = array_get($data, 'loanaccount_id'); $loanaccount = Loanaccount::findorfail($loanaccount_id); $amount = array_get($data, 'amount'); $date = array_get($data, 'date'); $principal_bal = Loanaccount::getPrincipalBal($loanaccount); $interest_bal = Loanaccount::getInterestBal($loanaccount); //pay principal Loanrepayment::payPrincipal($loanaccount, $date, $principal_bal); //pay interest Loanrepayment::payInterest($loanaccount, $date, $interest_bal); Loantransaction::repayLoan($loanaccount, $amount, $date); }
/** * Update the specified loanaccount in storage. * * @param int $id * @return Response */ public function dodisburse($id) { //$loanaccount = new Loanaccount; $validator = Validator::make($data = Input::all(), Loanaccount::$rules); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } //$loanaccount->approve($data); $loanaccount_id = array_get($data, 'loanaccount_id'); $loanaccount = Loanaccount::findorfail($loanaccount_id); $amount = array_get($data, 'amount_disbursed'); $date = array_get($data, 'date_disbursed'); $loanaccount->date_disbursed = $date; $loanaccount->amount_disbursed = $amount; $loanaccount->repayment_start_date = array_get($data, 'repayment_start_date'); $loanaccount->account_number = Loanaccount::loanAccountNumber($loanaccount); $loanaccount->is_disbursed = TRUE; $loanaccount->update(); $loanamount = $amount + Loanaccount::getInterestAmount($loanaccount); Loantransaction::disburseLoan($loanaccount, $loanamount, $date); return Redirect::route('loans.index'); }