<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\City;
use App\Models\District;

class CitySeeder extends Seeder
{
    public function run(): void
    {
        $map = [

            // =======================
            // DHAKA DIVISION
            // =======================
            'Dhaka' => [
                ['ঢাকা উত্তর সিটি কর্পোরেশন', 'Dhaka North City Corporation'],
                ['ঢাকা দক্ষিণ সিটি কর্পোরেশন', 'Dhaka South City Corporation'],
                ['সাভার পৌরসভা', 'Savar Municipality'],
                ['কেরানীগঞ্জ পৌরসভা', 'Keraniganj Municipality'],
                ['ধামরাই পৌরসভা', 'Dhamrai Municipality'],
                ['দোহার পৌরসভা', 'Dohar Municipality'],
                ['নবাবগঞ্জ পৌরসভা', 'Nawabganj Municipality'],
            ],

            'Gazipur' => [
                ['গাজীপুর সিটি কর্পোরেশন', 'Gazipur City Corporation'],
                ['কালীগঞ্জ পৌরসভা', 'Kaliganj Municipality'],
                ['কালিয়াকৈর পৌরসভা', 'Kaliakair Municipality'],
                ['শ্রীপুর পৌরসভা', 'Sreepur Municipality'],
            ],

            'Narayanganj' => [
                ['নারায়ণগঞ্জ সিটি কর্পোরেশন', 'Narayanganj City Corporation'],
                ['সিদ্ধিরগঞ্জ পৌরসভা', 'Siddhirganj Municipality'],
                ['আড়াইহাজার পৌরসভা', 'Araihazar Municipality'],
                ['বন্দর পৌরসভা', 'Bandar Municipality'],
            ],

            // =======================
            // CHATTOGRAM DIVISION
            // =======================
            'Chattogram' => [
                ['চট্টগ্রাম সিটি কর্পোরেশন', 'Chattogram City Corporation'],
                ['সীতাকুণ্ড পৌরসভা', 'Sitakunda Municipality'],
                ['মিরসরাই পৌরসভা', 'Mirsharai Municipality'],
                ['পটিয়া পৌরসভা', 'Patiya Municipality'],
            ],

            'Cox\'s Bazar' => [
                ['কক্সবাজার পৌরসভা', 'Coxs Bazar Municipality'],
                ['চকরিয়া পৌরসভা', 'Chakaria Municipality'],
                ['টেকনাফ পৌরসভা', 'Teknaf Municipality'],
            ],

            'Cumilla' => [
                ['কুমিল্লা সিটি কর্পোরেশন', 'Cumilla City Corporation'],
                ['চান্দিনা পৌরসভা', 'Chandina Municipality'],
                ['দাউদকান্দি পৌরসভা', 'Daudkandi Municipality'],
                ['লাকসাম পৌরসভা', 'Laksam Municipality'],
            ],

            // =======================
            // KHULNA DIVISION
            // =======================
            'Khulna' => [
                ['খুলনা সিটি কর্পোরেশন', 'Khulna City Corporation'],
                ['দৌলতপুর পৌরসভা', 'Daulatpur Municipality'],
                ['পাইকগাছা পৌরসভা', 'Paikgacha Municipality'],
            ],

            'Jessore' => [
                ['যশোর পৌরসভা', 'Jessore Municipality'],
                ['ঝিকরগাছা পৌরসভা', 'Jhikargacha Municipality'],
            ],

            // =======================
            // RAJSHAHI DIVISION
            // =======================
            'Rajshahi' => [
                ['রাজশাহী সিটি কর্পোরেশন', 'Rajshahi City Corporation'],
                ['পবা পৌরসভা', 'Paba Municipality'],
            ],

            'Bogra' => [
                ['বগুড়া পৌরসভা', 'Bogra Municipality'],
                ['শেরপুর পৌরসভা', 'Sherpur Municipality'],
            ],

            // =======================
            // RANGPUR DIVISION
            // =======================
            'Rangpur' => [
                ['রংপুর সিটি কর্পোরেশন', 'Rangpur City Corporation'],
                ['তারাগঞ্জ পৌরসভা', 'Taraganj Municipality'],
            ],

            'Dinajpur' => [
                ['দিনাজপুর পৌরসভা', 'Dinajpur Municipality'],
                ['পার্বতীপুর পৌরসভা', 'Parbatipur Municipality'],
            ],

            // =======================
            // SYLHET DIVISION
            // =======================
            'Sylhet' => [
                ['সিলেট সিটি কর্পোরেশন', 'Sylhet City Corporation'],
                ['বিয়ানীবাজার পৌরসভা', 'Beanibazar Municipality'],
                ['জকিগঞ্জ পৌরসভা', 'Zakiganj Municipality'],
            ],

            // =======================
            // BARISHAL DIVISION
            // =======================
            'Barishal' => [
                ['বরিশাল সিটি কর্পোরেশন', 'Barishal City Corporation'],
                ['বাকেরগঞ্জ পৌরসভা', 'Bakerganj Municipality'],
                ['উজিরপুর পৌরসভা', 'Uzirpur Municipality'],
            ],

            // =======================
            // MYMENSINGH DIVISION
            // =======================
            'Mymensingh' => [
                ['ময়মনসিংহ সিটি কর্পোরেশন', 'Mymensingh City Corporation'],
                ['ভালুকা পৌরসভা', 'Bhaluka Municipality'],
                ['ত্রিশাল পৌরসভা', 'Trishal Municipality'],
            ],
        ];

        foreach ($map as $districtEn => $cities) {
            $district = District::where('name_en', $districtEn)->first();
            if (!$district) continue;

            foreach ($cities as [$bn, $en]) {
                City::updateOrCreate(
                    [
                        'district_id' => $district->id,
                        'name_en' => $en,
                    ],
                    [
                        'name_bn' => $bn,
                    ]
                );
            }
        }
    }
}
