<?php

declare(strict_types=1);

namespace Database\Seeders;

use App\Models\Category;
use App\Models\Service;
use App\Models\User;
use Illuminate\Database\Seeder;
use Mortezaa97\Regions\Models\County;
use Mortezaa97\Regions\Models\Province;

class ServicesTableSeeder extends Seeder
{
    public function run(): void
    {
        $adminId = User::role('admin')->first()?->id;
        $user = User::role('user')->first();
        $category = Category::where('slug', 'vet-services')->first();
        $province = Province::first();
        $county = County::where('province_id', $province?->id)->first();

        $services = [
            [
                'name' => 'معاینه دام',
                'excerpt' => 'معاینه و چکاپ سلامت دام',
                'desc' => 'معاینه کامل دام توسط دامپزشک متخصص با ارائه گزارش سلامت.',
                'price' => 500000,
                'duration' => '۱ ساعت',
                'type' => 'دامپزشکی',
            ],
            [
                'name' => 'واکسیناسیون',
                'excerpt' => 'واکسیناسیون دام و طیور',
                'desc' => 'انجام واکسیناسیون طبق برنامه استاندارد با استفاده از واکسن‌های معتبر.',
                'price' => 200000,
                'duration' => '۳۰ دقیقه',
                'type' => 'پیشگیری',
            ],
            [
                'name' => 'مشاوره تغذیه',
                'excerpt' => 'مشاوره تغذیه دام',
                'desc' => 'مشاوره تخصصی در زمینه جیره‌نویسی و تغذیه بهینه دام.',
                'price' => 350000,
                'duration' => '۱ ساعت',
                'type' => 'مشاوره',
            ],
        ];

        foreach ($services as $service) {
            Service::firstOrCreate(
                ['name' => $service['name']],
                [
                    'user_id' => $user?->id ?? $adminId,
                    'category_id' => $category?->id,
                    'excerpt' => $service['excerpt'],
                    'desc' => $service['desc'],
                    'price' => $service['price'],
                    'duration' => $service['duration'],
                    'type' => $service['type'],
                    'province_id' => $province?->id,
                    'county_id' => $county?->id,
                    'status' => 'active',
                    'is_active' => true,
                    'created_by' => $adminId,
                    'updated_by' => $adminId,
                ]
            );
        }
    }
}
