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); } } /* Created By : Sayali Parab Created at : 28 May 2024 Use : To Get Passport Page. */ 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); } } /* Created By : Sayali Parab Created at : 28 May 2024 Use : To Get Customer data. */ 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); } } /* Created By : Sayali Parab Created at : 28 May 2024 Use : To Update Customer Form. */ public function update(Request $request) { // Validation rules $rules = [ 'email_address' => [ 'required', 'string', 'email', 'max:100', Rule::unique('iam_principal')->where(function ($query) use ($request) { return $query->where('principal_type_xid', 3) ->whereNull('deleted_at') ->where('id', '!=', $request->customer_id); }), ], ]; $messages = [ 'email_address.required' => 'Enter email address', 'email_address.email' => 'Please enter a valid email address', 'email_address.unique' => 'This email is already registered', ]; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); } 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_address'); $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); } } /* Created By : Sayali Parab Created at : 28 May 2024 Use : To Get delete customer. */ 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')]); } } /* Created By : Sayali Parab Created at : 28 May 2024 Use : To Get pdf. */ 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); // } // } /* Created By : Sayali Parab Created at : 28 May 2024 Use : To Deleted Data Restore. */ 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')]); } } /* Created By : Sayli Raut Created at : 05 June 2024 Use : To get customer redeem restaurant details. */ public function manageCustomerRestaurants(Request $request, $id) { try { $redeemDetails = RedeemRestaurant::with('restaurant', 'customer')->where('iam_principal_xid', $id)->get(); return view('Admin.pages.manage_users.manage_customer.customer_restaurants', compact('redeemDetails')); } catch (Exception $e) { Log::error("Error getting restaurant details: " . $e->getMessage()); return response()->json(['error' => __('auth.something_went_wrong')], 500); } } }