Exemple #1
0
 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');
 }
Exemple #2
0
 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');
 }
Exemple #3
0
 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');
 }