public function store(ChartOfAccountRequest $request) { $chart = new ChartOfAccount(); $chart->parent = $request->input('parent'); $chart->name = $request->input('name'); $chart->code = $request->input('code'); if ($request->input('contra_status')) { $chart->contra_status = 1; $chart->contra_code = $request->input('contra_id'); } $chart->save(); Session()->flash('flash_message', 'Chart Of Account has been created!'); return redirect('charts'); }
public function store(BankRequest $request) { try { DB::transaction(function () use($request) { $inputs = $request->input(); $time = time(); $user = Auth::user(); $year = CommonHelper::get_current_financial_year(); $bank = new Bank(); $chartOfAccount = new ChartOfAccount(); $workspaceLedgerData = new WorkspaceLedger(); // Bank Entry $bank->name = $inputs['name']; $bank->account_name = $inputs['account_name']; $bank->account_no = $inputs['account_no']; $bank->account_director = $inputs['account_director']; $bank->account_type = $inputs['account_type']; $bank->start_date = $inputs['start_date']; $bank->balance = $inputs['opening_balance']; $bank->account_code = $inputs['account_code']; $bank->created_by = $user->id; $bank->created_at = $time; $bank->save(); // Account Head Entry $chartOfAccount->parent = 1; // Asset $chartOfAccount->name = $inputs['name']; $chartOfAccount->code = $inputs['account_code']; $chartOfAccount->save(); // Workspace Ledger Account Head Data (Opening) $workspaceLedgerData->workspace_id = $user->workspace_id; $workspaceLedgerData->year = $year; $workspaceLedgerData->account_code = $inputs['account_code']; $workspaceLedgerData->balance_type = Config::get('common.balance_type_opening'); $workspaceLedgerData->balance = 0; $workspaceLedgerData->created_by = $user->id; $workspaceLedgerData->created_at = $time; $workspaceLedgerData->save(); // Workspace Ledger Account Head Data (Intermediate) $workspaceLedgerData = new WorkspaceLedger(); $workspaceLedgerData->workspace_id = $user->workspace_id; $workspaceLedgerData->year = $year; $workspaceLedgerData->account_code = $inputs['account_code']; $workspaceLedgerData->balance_type = Config::get('common.balance_type_intermediate'); $workspaceLedgerData->balance = 0; $workspaceLedgerData->created_by = $user->id; $workspaceLedgerData->created_at = $time; $workspaceLedgerData->save(); if ($inputs['opening_balance'] > 0) { // Update Workspace Ledger $workspaceLedger = WorkspaceLedger::where(['workspace_id' => $user->workspace_id, 'account_code' => $inputs['account_code'], 'balance_type' => Config::get('common.balance_type_intermediate'), 'year' => $year])->first(); $workspaceLedger->balance += $inputs['opening_balance']; $workspaceLedger->updated_by = $user->id; $workspaceLedger->updated_by = $time; $workspaceLedger->save(); } }); } catch (\Exception $e) { dd($e); Session::flash('error_message', 'Failed to create Bank. Please try again!'); return Redirect::back(); } Session::flash('flash_message', 'Bank created successfully!'); return redirect('banks'); }