public function store(SupplierRequest $request) { try { DB::transaction(function () use($request) { $supplier = new Supplier(); $supplier->suppliers_type = $request->input('suppliers_type'); $supplier->company_name = $request->input('company_name'); $supplier->company_address = $request->input('company_address'); $supplier->company_office_phone = $request->input('company_office_phone'); $supplier->company_office_fax = $request->input('company_office_fax'); $supplier->contact_person = $request->input('contact_person'); $supplier->contact_person_phone = $request->input('contact_person_phone'); $supplier->supplier_description = $request->input('supplier_description'); $supplier->status = $request->input('status'); $supplier->created_at = time(); $supplier->created_by = Auth::user()->id; $supplier->save(); //Personal Account Creation $personal = new PersonalAccount(); $personal->person_type = Config::get('common.person_type_supplier'); if (!empty($request->input('balance'))) { $personal->balance = $request->input('balance'); } if (!empty($request->input('due'))) { $personal->due = $request->input('due'); } $personal->person_id = $supplier->id; $personal->created_by = Auth::user()->id; $personal->created_at = time(); $personal->save(); $year = CommonHelper::get_current_financial_year(); $user = Auth::user(); $time = time(); if (!empty($request->input('balance'))) { // Update Workspace Ledger $workspaceLedger = WorkspaceLedger::where(['workspace_id' => $user->workspace_id, 'account_code' => 41000, 'balance_type' => Config::get('common.balance_type_intermediate'), 'year' => $year])->first(); $workspaceLedger->balance += $request->input('balance'); $workspaceLedger->updated_by = $user->id; $workspaceLedger->updated_by = $time; $workspaceLedger->save(); } if (!empty($request->input('due'))) { // Update Workspace Ledger $workspaceLedger = WorkspaceLedger::where(['workspace_id' => $user->workspace_id, 'account_code' => 12000, 'balance_type' => Config::get('common.balance_type_intermediate'), 'year' => $year])->first(); $workspaceLedger->balance += $request->input('due'); $workspaceLedger->updated_by = $user->id; $workspaceLedger->updated_by = $time; $workspaceLedger->save(); } }); } catch (\Exception $e) { Session()->flash('error_message', 'Data cannot Save. Please Try Again'); return redirect('suppliers'); } Session()->flash('flash_message', 'Data has been Saved'); return redirect('suppliers'); }
public function store(ProviderRequest $request) { try { DB::transaction(function () use($request) { $inputs = $request->input(); $time = time(); $user = Auth::user(); $year = CommonHelper::get_current_financial_year(); $file = $request->file('picture'); $provider = new Provider(); $destinationPath = base_path() . '/public/image/provider/'; if ($request->hasFile('picture')) { $name = time() . $file->getClientOriginalName(); $file->move($destinationPath, $name); $inputs['picture'] = $name; $provider->picture = $inputs['picture']; } $provider->name = $inputs['name']; $provider->mobile = $inputs['mobile']; $provider->address = $inputs['address']; $provider->company_name = $inputs['company_name']; $provider->company_address = $inputs['company_address']; $provider->created_by = $user->id; $provider->created_at = $time; $provider->save(); // Personal Account Creation $personal = new PersonalAccount(); $personal->person_type = Config::get('common.person_type_provider'); if (!empty($inputs['balance'])) { $personal->balance = $inputs['balance']; } if (!empty($inputs['due'])) { $personal->due = $inputs['due']; } $personal->person_id = $provider->id; $personal->created_by = Auth::user()->id; $personal->created_at = $time; $personal->save(); if ($inputs['balance'] > 0) { // Update Workspace Ledger $workspaceLedger = WorkspaceLedger::where(['workspace_id' => $user->workspace_id, 'account_code' => 41000, 'balance_type' => Config::get('common.balance_type_intermediate'), 'year' => $year])->first(); $workspaceLedger->balance += $inputs['balance']; $workspaceLedger->updated_by = $user->id; $workspaceLedger->updated_by = $time; $workspaceLedger->save(); } if ($inputs['due'] > 0) { // Update Workspace Ledger $workspaceLedger = WorkspaceLedger::where(['workspace_id' => $user->workspace_id, 'account_code' => 12000, 'balance_type' => Config::get('common.balance_type_intermediate'), 'year' => $year])->first(); $workspaceLedger->balance += $inputs['due']; $workspaceLedger->updated_by = $user->id; $workspaceLedger->updated_by = $time; $workspaceLedger->save(); } }); } catch (\Exception $e) { Session::flash('error_message', 'Failed to create Product & Service Provider. Please try again!'); return Redirect::back(); } Session::flash('flash_message', 'Product & Service Provider created successfully!'); return redirect('providers'); }
public function store(EmployeeRequest $request) { try { DB::transaction(function () use($request) { $employee = new Employee(); $file = $request->file('photo'); $destinationPath = base_path() . '/public/image/employee/'; if ($request->hasFile('photo')) { $name = time() . $file->getClientOriginalName(); $file->move($destinationPath, $name); $employee->photo = $name; } $employee->name = $request->input('name'); $employee->mobile = $request->input('mobile'); $employee->email = $request->input('email'); $employee->present_address = $request->input('present_address'); $employee->permanent_address = $request->input('permanent_address'); $employee->dob = $request->input('dob'); $employee->designation_id = $request->input('designation_id'); $employee->workspace_id = $request->input('workspace_id'); $employee->employee_type = $request->input('employee_type'); $employee->joining_date = $request->input('joining_date'); $employee->created_by = Auth::user()->id; $employee->created_at = time(); $employee->save(); $insertedId = $employee->id; // Creation As User if ($request->as_user == 1) { $user = new User(); $file = $request->file('photo'); $destinationPath = base_path() . '/public/image/user/'; if ($request->hasFile('photo')) { $name = time() . $file->getClientOriginalName(); $file->move($destinationPath, $name); $user->photo = $name; } $user->username = $request->input('username'); $user->email = $request->input('email'); $user->password = bcrypt($request->input('password')); $user->name_en = $request->input('name'); $user->workspace_id = $request->input('workspace_id'); $user->user_group_id = $request->input('user_group_id'); $user->present_address = $request->input('present_address'); $user->permanent_address = $request->input('permanent_address'); $user->save(); } // Personal Account Creation $personalAccount = new PersonalAccount(); $personalAccount->person_type = Config::get('common.person_type_employee'); $personalAccount->person_id = $insertedId; $personalAccount->balance = $request->input('balance'); $personalAccount->due = $request->input('due'); $personalAccount->created_by = Auth::user()->id; $personalAccount->created_at = time(); $personalAccount->save(); // Impacts on accounting tables if ($request->input('balance') > 0) { $workspace_id = Auth::user()->workspace_id; $accountPayableCode = 41000; $accountPayableWorkspaceData = WorkspaceLedger::where(['workspace_id' => $workspace_id, 'account_code' => $accountPayableCode, 'balance_type' => Config::get('common.balance_type_intermediate')])->first(); $accountPayableWorkspaceData->balance += $request->input('balance'); $accountPayableWorkspaceData->update(); } if ($request->input('due') > 0) { $workspace_id = Auth::user()->workspace_id; $accountReceivableCode = 12000; $accountReceivableWorkspaceData = WorkspaceLedger::where(['workspace_id' => $workspace_id, 'account_code' => $accountReceivableCode, 'balance_type' => Config::get('common.balance_type_intermediate')])->first(); $accountReceivableWorkspaceData->balance += $request->input('due'); $accountReceivableWorkspaceData->update(); } }); } catch (\Exception $e) { Session()->flash('error_message', 'Employee Not Created!'); return redirect('employees'); } Session()->flash('flash_message', 'Employee Created Successfully!'); return redirect('employees'); }