<?php

declare(strict_types=1);

namespace Database\Seeders;

use App\Models\Breed;
use App\Models\Category;
use App\Models\Producer;
use App\Models\Product;
use App\Models\Project;
use Database\Seeders\Support\DemoSeederContext;
use Illuminate\Database\Seeder;
use Mortezaa97\Regions\Models\County;
use Mortezaa97\Regions\Models\Province;

class ProjectsTableSeeder extends Seeder
{
    public function run(): void
    {
        $adminId = DemoSeederContext::admin()?->id;
        $user = DemoSeederContext::employer();
        $producer = DemoSeederContext::producer();
        $category = Category::where('slug', 'cattle')->first();
        $breed = Breed::first();
        $product = Product::first();
        $province = Province::first();
        $county = County::where('province_id', $province?->id)->first();

        $projects = [
            [
                'name' => 'پروژه گاوداری شیری البرز',
                'excerpt' => 'سرمایه‌گذاری در گاوداری ۱۲ راسی جرسی',
                'desc' => 'پروژه شفافیت‌محور پرورش گاو شیری با گزارش‌های هفتگی رشد، سلامت و جیره. مناسب نمایش داشبورد کارفرما.',
                'budget' => 72_000_000,
                'estimated_profit' => 18_500_000,
                'status' => 'active',
                'quantity' => 12,
                'unit' => 'head',
                'unit_price' => 6_000_000,
                'start_date' => now()->subMonths(4),
                'end_date' => now()->addMonths(8),
                'images' => [
                    'files/gav.jpg',
                    'files/gav-1.jpg',
                    'files/gav-2.jpg',
                    'files/gavo-goosfand-baham.jpg',
                ],
                'contract_text' => 'متن قرارداد سرمایه‌گذاری در پروژه گاوداری شیری البرز.',
            ],
            [
                'name' => 'واحد پرواربندی گوسفند دماوند',
                'excerpt' => 'پروار ۸۰ راس گوسفند افشاری',
                'desc' => 'پروژه فعال پرواربندی با گزارش مالی و گالری تصاویر هفتگی.',
                'budget' => 45_000_000,
                'estimated_profit' => 9_200_000,
                'status' => 'active',
                'quantity' => 80,
                'unit' => 'head',
                'unit_price' => 850_000,
                'start_date' => now()->subMonths(2),
                'end_date' => now()->addMonths(10),
                'images' => [
                    'files/goosfand.jpg',
                    'files/goosfand-2.jpg',
                    'files/goosfand-3.jpg',
                    'files/gavo-goosfand-baham-1.jpg',
                ],
            ],
            [
                'name' => 'احداث گاوداری صنعتی (تکمیل‌شده)',
                'excerpt' => 'پروژه تکمیل‌شده نمونه برای تاریخچه',
                'desc' => 'پروژه تکمیل‌شده جهت نمایش در تب تاریخچه پروژه‌ها.',
                'budget' => 120_000_000,
                'estimated_profit' => 22_000_000,
                'status' => 'completed',
                'quantity' => 50,
                'unit' => 'head',
                'start_date' => now()->subYear(),
                'end_date' => now()->subMonth(),
                'images' => [
                    'files/gav-4.jpg',
                    'files/gav-5.jpg',
                    'files/shotor-1.jpg',
                ],
            ],
        ];

        foreach ($projects as $projectData) {
            Project::updateOrCreate(
                ['name' => $projectData['name']],
                [
                    'user_id' => $user?->id ?? $adminId,
                    'producer_id' => $producer?->id,
                    'category_id' => $category?->id,
                    'product_id' => $product?->id,
                    'breed_id' => $breed?->id,
                    'excerpt' => $projectData['excerpt'],
                    'desc' => $projectData['desc'],
                    'budget' => $projectData['budget'],
                    'estimated_profit' => $projectData['estimated_profit'],
                    'status' => $projectData['status'],
                    'quantity' => $projectData['quantity'],
                    'unit' => $projectData['unit'],
                    'unit_price' => $projectData['unit_price'] ?? null,
                    'start_date' => $projectData['start_date'],
                    'end_date' => $projectData['end_date'],
                    'images' => $projectData['images'],
                    'contract_text' => $projectData['contract_text'] ?? null,
                    'sale_registration_enabled' => true,
                    'province_id' => $province?->id,
                    'county_id' => $county?->id,
                    'address' => 'البرز، کرج، جاده قدیم',
                    'created_by' => $adminId,
                    'updated_by' => $adminId,
                ]
            );
        }
    }
}
