<?php

namespace Database\Seeders;

use App\Models\Agency\Agency;
use App\Models\Agency\TourClass;
use Illuminate\Database\Seeder;

class TourClassSeeder extends Seeder
{
    /**
     * Her acenteye varsayılan 3 fiyat sınıfı: A (taban), B (+%15), C (+%30).
     * Farklar sonradan ayarlardan düzenlenebilir.
     */
    public function run(): void
    {
        $defaults = [
            ['name' => 'A Sınıfı', 'code' => 'A', 'is_base' => true,  'diff_type' => 'percent', 'diff_value' => 0,  'sort_order' => 1],
            ['name' => 'B Sınıfı', 'code' => 'B', 'is_base' => false, 'diff_type' => 'percent', 'diff_value' => 15, 'sort_order' => 2],
            ['name' => 'C Sınıfı', 'code' => 'C', 'is_base' => false, 'diff_type' => 'percent', 'diff_value' => 30, 'sort_order' => 3],
        ];

        foreach (Agency::all() as $agency) {
            foreach ($defaults as $d) {
                TourClass::updateOrCreate(
                    ['agency_id' => $agency->id, 'code' => $d['code']],
                    [
                        'name'       => $d['name'],
                        'is_base'    => $d['is_base'],
                        'diff_type'  => $d['diff_type'],
                        'diff_value' => $d['diff_value'],
                        'sort_order' => $d['sort_order'],
                        'is_active'  => true,
                    ]
                );
            }
        }
    }
}
