gstConfigureRepo = $gsiConfigureRepository; $this->gstService = $gstService; $this->categoryService = $categoryService; } public function configuration() { $data['gst_lists'] = $this->gstService->getActiveList(); $data['gst_configs'] = json_decode(file_get_contents(base_path('Modules/GST/Resources/assets/config_files/config.json')), true); $data['gst_groups'] = $this->gstConfigureRepo->getGroup(); $data['first_category'] =$this->categoryService->firstCategory(); return view('gst::configurations.index', $data); } public function configuration_update(Request $request) { try { $this->gstConfigureRepo->updateConfiguration($request->except("_token")); LogActivity::successLog('GST Configuration updated.'); Toastr::success(__('common.updated_successfully'), __('common.success')); return back(); } catch (\Exception $e) { LogActivity::errorLog($e); Toastr::error(__('common.error_message'), __('common.error')); return back(); } } public function get_outsite_state_gst(Request $request){ $lists = $request->lists; return view('gst::configurations.components.outsite_state_gst', compact('lists')); } public function get_outsite_state_gst_edit(Request $request){ $lists = $request->lists; $prev_list = json_decode($request->prev_val); $prev_list = (array) $prev_list; return view('gst::configurations.components.outsite_state_gst_edit', compact('lists','prev_list')); } public function get_same_state_gst(Request $request){ $lists = $request->lists; return view('gst::configurations.components.same_state_gst', compact('lists')); } public function get_same_state_gst_edit(Request $request){ $lists = $request->lists; $prev_list = json_decode($request->prev_val); $prev_list = (array) $prev_list; return view('gst::configurations.components.same_state_gst_edit', compact('lists','prev_list')); } public function storeGroup(GstgroupRequest $request){ $this->gstConfigureRepo->stoteGroup($request->except('_token')); return $this->reloadWithGroup(); } public function updateGroup(GstgroupRequest $request){ $this->gstConfigureRepo->updateGroup($request->except('_token')); return $this->reloadWithGroup(); } public function deleteGroup(Request $request){ $result = $this->gstConfigureRepo->deleteGroupById($request->id); if($result == 'posible'){ return $this->reloadWithGroup(); }else{ return response()->json([ 'parent_msg' => 'This Item Is not Deletable.' ]); } } public function editGroup($id){ $group = $this->gstConfigureRepo->getGroupById($id); $gst_lists = $this->gstService->getActiveList(); return view('gst::configurations.components.edit_group',compact('group', 'gst_lists')); } private function reloadWithGroup(){ $gst_groups = $this->gstConfigureRepo->getGroup(); $gst_lists = $this->gstService->getActiveList(); return response()->json([ 'list' => (string)view("gst::configurations.components.group_list", compact('gst_groups')), 'createForm' => (string)view("gst::configurations.components.add_group", compact('gst_lists')) ]); } }