<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\DB;
use App\Models\User;

class GasOfficeDataSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $this->command->info('🚀 بدء إنشاء البيانات التجريبية لمكاتب الغاز...');

        // إنشاء مستخدم مكتب غاز
        $user = User::create([
            'name' => 'أحمد محمد علي',
            'email' => 'ahmed@gasoffice.com',
            'password' => Hash::make('password123'),
        ]);

        // إنشاء مكتب غاز
        $gasOfficeId = DB::table('gas_offices')->insertGetId([
            'name' => 'مكتب غاز الكرادة',
            'description' => 'مكتب غاز متخصص في توريد قناني الغاز الحديد والبلاستيك',
            'address' => 'بغداد - الكرادة - شارع الكرادة الداخلية',
            'phone' => '07901234567',
            'email' => 'ahmed@gasoffice.com',
            'owner_id' => $user->id,
            'is_active' => true,
            'is_open' => true,
            'opening_time' => '08:00:00',
            'closing_time' => '22:00:00',
            'delivery_fee' => 5000.00,
            'delivery_time_minutes' => 30,
            'minimum_order' => 20000.00,
            'rating' => 4.5,
            'rating_count' => 150,
            'created_at' => now(),
            'updated_at' => now(),
        ]);

        $this->command->info("✅ تم إنشاء مكتب الغاز رقم: {$gasOfficeId}");

        // إنشاء قناني الغاز
        $cylinders = [
            [
                'name' => 'قنينة حديد 12 كيلو',
                'description' => 'قنينة غاز حديدية بسعة 12 كيلو - عالية الجودة',
                'price' => 22500.00,
                'size' => '12',
                'type' => 'طبخ',
                'brand' => 'أمان',
                'is_available' => true,
                'stock_quantity' => 25,
                'weight_kg' => 12.0,
                'safety_instructions' => 'يجب تخزينها في مكان جاف وبارد',
                'gas_office_id' => $gasOfficeId,
                'created_at' => now(),
                'updated_at' => now(),
            ],
            [
                'name' => 'قنينة بلاستيك 12 كيلو',
                'description' => 'قنينة غاز بلاستيكية بسعة 12 كيلو - خفيفة الوزن',
                'price' => 20000.00,
                'size' => '12',
                'type' => 'طبخ',
                'brand' => 'أمان',
                'is_available' => true,
                'stock_quantity' => 18,
                'weight_kg' => 12.0,
                'safety_instructions' => 'تجنب التعرض لأشعة الشمس المباشرة',
                'gas_office_id' => $gasOfficeId,
                'created_at' => now(),
                'updated_at' => now(),
            ],
            [
                'name' => 'قنينة حديد 6 كيلو',
                'description' => 'قنينة غاز حديدية بسعة 6 كيلو - مناسبة للاستخدام المنزلي',
                'price' => 12000.00,
                'size' => '6',
                'type' => 'طبخ',
                'brand' => 'أمان',
                'is_available' => true,
                'stock_quantity' => 15,
                'weight_kg' => 6.0,
                'safety_instructions' => 'مناسبة للاستخدام المنزلي',
                'gas_office_id' => $gasOfficeId,
                'created_at' => now(),
                'updated_at' => now(),
            ],
            [
                'name' => 'قنينة بلاستيك 6 كيلو',
                'description' => 'قنينة غاز بلاستيكية بسعة 6 كيلو - سهلة الحمل',
                'price' => 10000.00,
                'size' => '6',
                'type' => 'طبخ',
                'brand' => 'أمان',
                'is_available' => true,
                'stock_quantity' => 12,
                'weight_kg' => 6.0,
                'safety_instructions' => 'خفيفة الوزن وسهلة النقل',
                'gas_office_id' => $gasOfficeId,
                'created_at' => now(),
                'updated_at' => now(),
            ],
        ];

        foreach ($cylinders as $cylinder) {
            DB::table('gas_cylinders')->insert($cylinder);
        }

        $this->command->info('✅ تم إنشاء 4 قناني غاز');

        // إنشاء طلبات
        $orders = [
            [
                'customer_id' => $user->id,
                'order_number' => 'GO-' . str_pad(1, 6, '0', STR_PAD_LEFT),
                'subtotal' => 45000.00,
                'delivery_fee' => 5000.00,
                'tax' => 0.00,
                'total' => 50000.00,
                'delivery_address' => 'بغداد - الكرادة - شارع الكرادة الداخلية - عمارة 15',
                'status' => 'pending',
                'special_instructions' => 'يرجى التوصيل في المساء بعد الساعة 7',
                'payment_method' => 'cash',
                'payment_status' => 'pending',
                'is_urgent' => false,
                'created_at' => now()->subHours(2),
                'updated_at' => now()->subHours(2),
            ],
            [
                'customer_id' => $user->id,
                'order_number' => 'GO-' . str_pad(2, 6, '0', STR_PAD_LEFT),
                'subtotal' => 20000.00,
                'delivery_fee' => 5000.00,
                'tax' => 0.00,
                'total' => 25000.00,
                'delivery_address' => 'بغداد - الكرادة - مجمع الكرادة السكني - بناية 8',
                'status' => 'delivered',
                'special_instructions' => 'تم التوصيل بنجاح',
                'payment_method' => 'cash',
                'payment_status' => 'paid',
                'is_urgent' => false,
                'actual_delivery_time' => now()->subDay(),
                'created_at' => now()->subDay(),
                'updated_at' => now()->subDay(),
            ],
            [
                'customer_id' => $user->id,
                'order_number' => 'GO-' . str_pad(3, 6, '0', STR_PAD_LEFT),
                'subtotal' => 90000.00,
                'delivery_fee' => 5000.00,
                'tax' => 0.00,
                'total' => 95000.00,
                'delivery_address' => 'بغداد - الكرادة - شارع الكرادة الخارجية - بيت 25',
                'status' => 'preparing',
                'special_instructions' => 'طلب عاجل - يرجى الأولوية',
                'payment_method' => 'cash',
                'payment_status' => 'pending',
                'is_urgent' => true,
                'created_at' => now()->subHours(5),
                'updated_at' => now()->subHours(5),
            ],
            [
                'customer_id' => $user->id,
                'order_number' => 'GO-' . str_pad(4, 6, '0', STR_PAD_LEFT),
                'subtotal' => 30000.00,
                'delivery_fee' => 5000.00,
                'tax' => 0.00,
                'total' => 35000.00,
                'delivery_address' => 'بغداد - الكرادة - شارع الكرادة الشمالي',
                'status' => 'pending',
                'special_instructions' => 'يرجى التأكد من جودة القناني',
                'payment_method' => 'cash',
                'payment_status' => 'pending',
                'is_urgent' => false,
                'created_at' => now()->subHours(1),
                'updated_at' => now()->subHours(1),
            ],
            [
                'customer_id' => $user->id,
                'order_number' => 'GO-' . str_pad(5, 6, '0', STR_PAD_LEFT),
                'subtotal' => 60000.00,
                'delivery_fee' => 5000.00,
                'tax' => 0.00,
                'total' => 65000.00,
                'delivery_address' => 'بغداد - الكرادة - شارع الكرادة الجنوبي',
                'status' => 'delivered',
                'special_instructions' => 'شكراً لكم - خدمة ممتازة',
                'payment_method' => 'cash',
                'payment_status' => 'paid',
                'is_urgent' => false,
                'actual_delivery_time' => now()->subDays(2),
                'created_at' => now()->subDays(2),
                'updated_at' => now()->subDays(2),
            ],
        ];

        foreach ($orders as $order) {
            DB::table('gas_orders')->insert($order);
        }

        $this->command->info('✅ تم إنشاء 5 طلبات');

        $this->command->info('🎉 تم إنشاء جميع البيانات التجريبية بنجاح!');
        $this->command->info('');
        $this->command->info('📱 بيانات تسجيل الدخول:');
        $this->command->info('📧 الإيميل: ahmed@gasoffice.com');
        $this->command->info('🔑 كلمة المرور: password123');
        $this->command->info('');
        $this->command->info('📊 الإحصائيات:');
        $this->command->info('🏢 مكاتب الغاز: 1');
        $this->command->info('🔵 قناني الغاز: 4');
        $this->command->info('📦 الطلبات: 5');
    }
}
