private function do_the_math($entid, $ucid, $total, $date, $is_add, $is_move = 0, $is_delete = 0, $paid_from = 0, $entry_type = 0) { if ($ucid > 1) { $uc = User_category::find($ucid); if ($is_add) { switch ($uc->class) { case 8: case 10: // Is a CC or Bank Account $uc->balance = $uc->balance + $total; break; case 20: // Is a normal acct if (!$is_delete) { $uc->saved = $uc->saved + $total; } else { // means its in same month; we need to actually reduce the balance if (date('m-Y') == date('m-Y', strtotime($date))) { $uc->balance = $uc->balance - $total; } else { $uc->saved = $uc->saved + $total; } } break; case 30: case 40: // Is a savings or external savings $uc->saved = $uc->saved + $total; //is in current month? if (date('m-Y') == date('m-Y', strtotime($date))) { if ($entry_type == 20) { // its a move if ($is_delete) { $uc->balance = $uc->balance - $total; } else { $uc->balance = $uc->balance + $total; } } } break; } } else { switch ($uc->class) { case 8: case 10: // Is a CC or Bank Account $uc->balance = $uc->balance - $total; break; case 20: // Is a normal acct if ($is_delete) { // wil lhappen } else { $this->save_entry_section($ucid, $entid, 2, $total); if (date('m-Y') == date('m-Y', strtotime($date))) { $uc->balance = $uc->balance + $total; } } break; case 30: case 40: // Is a savings or external savings if ($uc->saved > 0) { if ($uc->saved >= $total) { $uc->saved = $uc->saved - $total; } else { $uc->saved = 0.0; } if (!$is_delete) { $this->save_entry_section($ucid, $entid, 1, $total); } } if (date('m-Y') == date('m-Y', strtotime($date))) { $uc->balance = $uc->balance - $total; } break; } } $uc->save(); } else { // means someone bought something with debit/cash or a withdraw if ($ucid == 0) { $uc = User_category::find($this->bank_info['ucid']); if ($is_add) { $uc->balance = $uc->balance + $total; $uc->save(); } else { // means debit / check / withdraw, so need to reduce the bank balance $uc->balance = $uc->balance - $total; $uc->save(); } } } }
public function convert_savings() { $uc = User_category::find(Input::get('ucid')); if ($uc->uid != $this->user->uid) { return Redirect::to('/budget'); } $saved = $uc->saved; $uc->balance = 0.0; $uc->saved = 0.0; $uc->top_limit = $saved; $uc->class = 20; // setting to normal $uc->save(); return Redirect::to('/home'); }