cardMemberService = $cardMemberService; } public function index() { $response = $this->cardMemberService->getAllMembers(); if (!$response['success']) { return back()->with('error', $response['message']); } return view('pages.member-management.index', [ 'members' => $response['data'] ]); } public function create() { $cardTypes = $this->cardMemberService->getCardTypes(); return view('pages.member-management.create', [ 'cardTypes' => $cardTypes['data'] ?? [] ]); } public function store(Request $request) { $response = $this->cardMemberService->createMember($request->all()); if (!$response['success']) { return back()->withInput()->with('error', $response['message']); } return redirect()->route('card-members.index') ->with('success', 'Card member created successfully'); } public function edit($id) { $memberResponse = $this->cardMemberService->getMember($id); $cardTypesResponse = $this->cardMemberService->getCardTypes(); if (!$memberResponse['success']) { return back()->with('error', $memberResponse['message']); } return view('pages.member-management.edit', [ 'member' => $memberResponse['data'], 'cardTypes' => $cardTypesResponse['data'] ?? [] ]); } public function update(Request $request, $id) { $response = $this->cardMemberService->updateMember($id, $request->all()); if (!$response['success']) { return back()->withInput()->with('error', $response['message']); } return redirect()->route('card-members.index') ->with('success', 'Card member updated successfully'); } public function destroy($id) { $response = $this->cardMemberService->deleteMember($id); if (!$response['success']) { return back()->with('error', $response['message']); } return redirect()->route('card-members.index') ->with('success', 'Card member deleted successfully'); } public function cardTypes() { $response = $this->cardMemberService->getCardTypes(); if (!$response['success']) { return back()->with('error', $response['message']); } return view('pages.add-card-types', [ 'cardTypes' => $response['data'] ]); } public function storeCardType(Request $request) { $response = $this->cardMemberService->createCardType($request->all()); if (!$response['success']) { return back()->withInput()->with('error', $response['message']); } return redirect()->route('card-types.index') ->with('success', 'Card type created successfully'); } public function updateCardType(Request $request, $id) { $response = $this->cardMemberService->updateCardType($id, $request->all()); if (!$response['success']) { return back()->withInput()->with('error', $response['message']); } return redirect()->route('card-types.index') ->with('success', 'Card type updated successfully'); } public function deleteCardType($id) { $response = $this->cardMemberService->deleteCardType($id); if (!$response['success']) { return back()->with('error', $response['message']); } return redirect()->route('card-types.index') ->with('success', 'Card type deleted successfully'); } public function topUpHistory(Request $request) { $memberId = $request->query('member_id'); $response = $this->cardMemberService->getTopUpHistory($memberId); if (!$response['success']) { return back()->with('error', $response['message']); } return view('pages.top-up', [ 'history' => $response['data'] ]); } public function processTopUp(Request $request) { $response = $this->cardMemberService->topUp($request->all()); if (!$response['success']) { return back()->withInput()->with('error', $response['message']); } return redirect()->route('top-up.index') ->with('success', 'Top-up processed successfully'); } }