with('state') ->orderBy('created_at', 'desc') ->get(); return view('Admin.pages.manage_users.manage_customer.customer', compact('customers')); } catch (Exception $e) { Log::error("Manage Voucher Page Not Load " . $e->getMessage()); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); } } public function view_customer($id) { try { $customers_data = IamPrincipal::findOrFail($id); return view('Admin.pages.manage_users.manage_customer.view_customer_details', compact('customers_data')); } catch (Exception $e) { Log::error("Manage Voucher Page Not Load " . $e->getMessage()); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); } } public function edit_customer($id) { try { $customers_data = IamPrincipal::findOrFail($id); return view('Admin.pages.manage_users.manage_customer.edit_customer', compact('customers_data')); } catch (Exception $e) { Log::error("Manage Voucher Page Not Load " . $e->getMessage()); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); } } public function update(Request $request) { try { DB::beginTransaction(); $customer_data = IamPrincipal::where('id', $request->customer_id)->first(); $customer_data->first_name = $request->input('name'); $customer_data->last_name = $request->input('last_name'); $customer_data->phone_number = $request->input('phone'); $customer_data->email_address = $request->input('email_id'); $customer_data->save(); DB::commit(); return jsonResponseWithSuccessMessage(__('success.update_data')); } catch (Exception $e) { DB::rollBack(); Log::error("updateCustomerNewsArticle Services Page Load Failed " . $e->getMessage()); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); } } public function archive_customer() { /* Created By : Sayali Parab Created at : 28 May 2024 Use : To Get archieve customer. */ try { $customers = IamPrincipal::where('principal_type_xid', 3)->onlyTrashed()->latest()->get(); return view('Admin.pages.manage_users.manage_customer.archive_manage_customer', compact('customers')); } catch (Exception $e) { Log::error("Manage Voucher Page Not Load " . $e->getMessage()); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); } } public function delete_customer($id) { try { DB::beginTransaction(); $passport = IamPrincipal::find($id); $passport->one_signal_player_id = null; $passport->deleted_by_admin = 1; $passport->save(); $passport->delete(); // dd($passport); DB::commit(); return response()->json(['success' => true, 'status' => 200]); } catch (Exception $e) { DB::rollBack(); Log::error("delete_passport function Load Failed " . $e->getMessage()); return response()->json(['success' => false, 'status' => 500, 'message' => __('auth.something_went_wrong')]); } } public function download_pdf($id) { try { $customers_data = IamPrincipal::findOrFail($id); $data = [ 'customers_data' => $customers_data ]; $pdf = PDF::loadView('Admin.pages.manage_users.manage_customer.view_customer_details_pdf', $data); return $pdf->download('customer_details.pdf'); } catch (Exception $e) { Log::error("Error generating PDF: " . $e->getMessage()); return response()->json(['error' => __('auth.something_went_wrong')], 500); } } // public function exportSelectedCustomer(Request $request) // { // try { // if ($request->has('all_id')) { // return Excel::download(new customer_export, 'Passport_data.xlsx'); // } // $ids = $request->selected_id; // $fileName = 'selected_customer_data.xlsx'; // return Excel::download(new customer_export_selected($ids), $fileName); // } catch (\Exception $e) { // return response()->json(['error' => 'Export failed. Something went wrong.'], 500); // } // } public function unarchive_customer($id) { try { DB::beginTransaction(); IamPrincipal::withTrashed()->where('id', $id)->restore(); DB::commit(); return response()->json(['success' => true, 'status' => 200]); } catch (Exception $e) { DB::rollBack(); Log::error("delete_passport function Load Failed " . $e->getMessage()); return response()->json(['success' => false, 'status' => 500, 'message' => __('auth.something_went_wrong')]); } } }