/**
  * Creates a new Bank model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Bank();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->b_id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
 public function actionImport()
 {
     $imported = 0;
     $dropped = 0;
     $postData = Yii::$app->request->post();
     $file = UploadedFile::getInstanceByName('filename');
     if ($file) {
         $content = file($file->tempName);
         $lines = 0;
         try {
             foreach ($content as $line) {
                 $lines++;
                 echo $lines;
                 $bank = explode('@', $line);
                 $oBank = new Bank();
                 $oBank->b_id = $bank[0];
                 $oBank->bezeichnung = $bank[1];
                 $oBank->klasse = $bank[2];
                 if ($oBank->save()) {
                     $imported++;
                 } else {
                     $dropped++;
                 }
             }
             if ($imported == 0) {
                 return $this->render('upload', ['warning' => "Type option is invalid or not found. Check format of the file", 'imported' => 0, 'dropped' => 0]);
             }
         } catch (ErrorException $e) {
             return $this->render('upload', ['warning' => "Invalid character was found at line " . $lines . ". Imported questions " . $imported, 'imported' => 0, 'dropped' => 0]);
         }
     } elseif (!empty($postData)) {
         return $this->render('upload', ['error' => "No file was selected to import", 'imported' => $imported, 'dropped' => $dropped]);
     }
     return $this->render('upload', ['imported' => $imported, 'dropped' => $dropped]);
 }
예제 #3
0
 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');
 }