<?php

namespace App\Http\Controllers\SuperAdmin;

use App\Http\Controllers\Controller;
use App\Models\OfflinePaymentMode;
use Illuminate\Http\Request;

class OfflinePaymentModeController extends Controller
{
    public function index()
    {
        $modes = OfflinePaymentMode::orderBy('name')->get();
        return view('superadmin.offline-payment-modes.index', compact('modes'));
    }

    public function create()
    {
        return view('superadmin.offline-payment-modes.create');
    }

    public function store(Request $request)
    {
        $data = $request->validate([
            'name' => 'required|string|max:255',
            'description' => 'nullable|string|max:1000',
        ]);
        OfflinePaymentMode::create($data);
        return redirect()->route('superadmin.offline-payment-modes.index')->with('success', 'Payment mode created.');
    }

    public function edit(OfflinePaymentMode $offlinePaymentMode)
    {
        return view('superadmin.offline-payment-modes.edit', compact('offlinePaymentMode'));
    }

    public function update(Request $request, OfflinePaymentMode $offlinePaymentMode)
    {
        $data = $request->validate([
            'name' => 'required|string|max:255',
            'description' => 'nullable|string|max:1000',
        ]);
        $offlinePaymentMode->update($data);
        return redirect()->route('superadmin.offline-payment-modes.index')->with('success', 'Payment mode updated.');
    }

    public function destroy(OfflinePaymentMode $offlinePaymentMode)
    {
        $offlinePaymentMode->delete();
        return redirect()->route('superadmin.offline-payment-modes.index')->with('success', 'Payment mode deleted.');
    }
}
