/** * Store a newly created bima in storage. * * @return Response */ public function store() { $validator = Validator::make($data = Input::all(), Bima::$rules); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } if (Bima::create($data)) { $bima = Bima::where('medical_insurance', '=', $data['medical_insurance'])->first(); $bima->balance = $data['monthly_rate']; $bima->save(); } return Redirect::route('bimas-get')->with('global', 'Client Created Successfully'); }
/** * Store a newly created resource in storage. * POST /transactions * * @return Response */ public function store($id) { $visit = $this->getVisit($id); if (!isset($visit) || $visit->done != 0) { return Redirect::back()->with('global', 'Bill already settled or No Pending Bills!'); } $data = ['patient_id' => $id, 'visit_id' => $visit->id, 'total' => $this->getTotal($id), 'payment_mode' => Input::get('payment_mode')]; $validator = Validator::make($data, Transaction::$rules); if ($validator->fails()) { return Redirect::back()->withErrors($validator); } if ($trans = Transaction::create($data)) { $bima = Bima::where('company', '=', $trans->payment_mode)->where('medical_insurance', '=', $this->getPatient($id)->medical_insurance)->first(); if ($bima) { $bima_balance = $bima->balance; if ($bima_balance < 0 && $bima_balance < $trans['total']) { return Redirect::back()->with('global', 'You have an insufficient account to make this transaction!'); } else { $balance = $bima_balance - $trans['total']; $bima->balance = $balance; $bima->save(); } } $visit = $this->getVisit($id); $visit->done = 1; $visit->save(); return Redirect::route('transaction-create-get')->with('global', 'Bill successfully settled with ' . $trans->payment_mode); } return Redirect::route('transaction-create-get')->with('global', 'Error, please try again!'); }