<?php

namespace Database\Seeders;

use App\Models\Customer;
use Illuminate\Database\Seeder;

class CustomerSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $customers = [
            ['name' => 'Acme Corporation', 'email' => 'billing@acmecorp.com', 'phone' => '+1 (555) 123-4567', 'company' => 'Acme Corporation', 'address' => '123 Business Park Ave', 'city' => 'New York', 'state' => 'NY', 'zip' => '10001', 'country' => 'United States', 'tax_id' => 'US12-3456789', 'is_active' => true],
            ['name' => 'Global Tech Solutions', 'email' => 'accounts@globaltech.io', 'phone' => '+1 (555) 234-5678', 'company' => 'Global Tech Solutions Inc.', 'address' => '456 Innovation Drive', 'city' => 'San Francisco', 'state' => 'CA', 'zip' => '94102', 'country' => 'United States', 'tax_id' => 'US98-7654321', 'is_active' => true],
            ['name' => 'European Trading Ltd', 'email' => 'finance@eurotrading.eu', 'phone' => '+44 20 7123 4567', 'company' => 'European Trading Limited', 'address' => '78 Commerce Street', 'city' => 'London', 'state' => null, 'zip' => 'EC1A 1BB', 'country' => 'United Kingdom', 'tax_id' => 'GB123456789', 'is_active' => true],
            ['name' => 'Pacific Enterprises', 'email' => 'ap@pacificent.com.au', 'phone' => '+61 2 9876 5432', 'company' => 'Pacific Enterprises Pty Ltd', 'address' => '321 Harbor View', 'city' => 'Sydney', 'state' => 'NSW', 'zip' => '2000', 'country' => 'Australia', 'tax_id' => 'AU12345678901', 'is_active' => true],
            ['name' => 'Nordic Supplies AB', 'email' => 'invoices@nordicsupplies.se', 'phone' => '+46 8 123 456 78', 'company' => 'Nordic Supplies AB', 'address' => '55 Strandvägen', 'city' => 'Stockholm', 'state' => null, 'zip' => '114 56', 'country' => 'Sweden', 'tax_id' => 'SE123456789012', 'is_active' => true],
            ['name' => 'Tokyo Industries Co.', 'email' => 'billing@tokyoind.jp', 'phone' => '+81 3 1234 5678', 'company' => 'Tokyo Industries Co., Ltd.', 'address' => '1-2-3 Shibuya', 'city' => 'Tokyo', 'state' => null, 'zip' => '150-0002', 'country' => 'Japan', 'tax_id' => 'JP1234567890123', 'is_active' => true],
            ['name' => 'Deutsche Handels GmbH', 'email' => 'buchhaltung@deutschehandels.de', 'phone' => '+49 30 12345678', 'company' => 'Deutsche Handels GmbH', 'address' => 'Friedrichstraße 123', 'city' => 'Berlin', 'state' => null, 'zip' => '10117', 'country' => 'Germany', 'tax_id' => 'DE123456789', 'is_active' => true],
            ['name' => 'Canadian Resources Inc.', 'email' => 'ar@canresources.ca', 'phone' => '+1 (416) 555-9876', 'company' => 'Canadian Resources Inc.', 'address' => '789 Queen Street West', 'city' => 'Toronto', 'state' => 'ON', 'zip' => 'M5V 2M9', 'country' => 'Canada', 'tax_id' => 'CA123456789RC0001', 'is_active' => true],
            ['name' => 'Singapore Trading Pte', 'email' => 'accounts@sgtrading.sg', 'phone' => '+65 6123 4567', 'company' => 'Singapore Trading Pte Ltd', 'address' => '100 Robinson Road #12-01', 'city' => 'Singapore', 'state' => null, 'zip' => '068898', 'country' => 'Singapore', 'tax_id' => 'SG12345678X', 'is_active' => true],
            ['name' => 'Swiss Finance SA', 'email' => 'comptabilite@swissfinance.ch', 'phone' => '+41 44 123 45 67', 'company' => 'Swiss Finance SA', 'address' => 'Bahnhofstrasse 45', 'city' => 'Zurich', 'state' => null, 'zip' => '8001', 'country' => 'Switzerland', 'tax_id' => 'CHE-123.456.789', 'is_active' => true],
            ['name' => 'Mumbai Exports Pvt', 'email' => 'finance@mumbaiexports.in', 'phone' => '+91 22 2345 6789', 'company' => 'Mumbai Exports Pvt Ltd', 'address' => 'Nariman Point, Tower B', 'city' => 'Mumbai', 'state' => 'Maharashtra', 'zip' => '400021', 'country' => 'India', 'tax_id' => 'IN27AAACM1234A1ZM', 'is_active' => true],
            ['name' => 'Brazilian Commerce SA', 'email' => 'contabilidade@brcommerce.com.br', 'phone' => '+55 11 3456 7890', 'company' => 'Brazilian Commerce SA', 'address' => 'Av. Paulista, 1000', 'city' => 'São Paulo', 'state' => 'SP', 'zip' => '01310-100', 'country' => 'Brazil', 'tax_id' => 'BR12.345.678/0001-90', 'is_active' => true],
            ['name' => 'Dubai Ventures LLC', 'email' => 'ap@dubaiventures.ae', 'phone' => '+971 4 123 4567', 'company' => 'Dubai Ventures LLC', 'address' => 'Sheikh Zayed Road, Tower 5', 'city' => 'Dubai', 'state' => null, 'zip' => null, 'country' => 'United Arab Emirates', 'tax_id' => 'AE100123456789', 'is_active' => true],
            ['name' => 'French Industries SAS', 'email' => 'facturation@frenchindustries.fr', 'phone' => '+33 1 23 45 67 89', 'company' => 'French Industries SAS', 'address' => '25 Avenue des Champs-Élysées', 'city' => 'Paris', 'state' => null, 'zip' => '75008', 'country' => 'France', 'tax_id' => 'FR12345678901', 'is_active' => true],
            ['name' => 'Korean Electronics Co.', 'email' => 'billing@koreanelec.kr', 'phone' => '+82 2 1234 5678', 'company' => 'Korean Electronics Co., Ltd.', 'address' => 'Gangnam-gu, 123-45', 'city' => 'Seoul', 'state' => null, 'zip' => '06164', 'country' => 'South Korea', 'tax_id' => 'KR123-45-67890', 'is_active' => true],
            ['name' => 'Mexican Manufacturing', 'email' => 'cuentas@mexmanufac.mx', 'phone' => '+52 55 1234 5678', 'company' => 'Mexican Manufacturing SA de CV', 'address' => 'Paseo de la Reforma 500', 'city' => 'Mexico City', 'state' => 'CDMX', 'zip' => '06600', 'country' => 'Mexico', 'tax_id' => 'MME1234567X0', 'is_active' => true],
            ['name' => 'Italian Design SpA', 'email' => 'fatturazione@italiandesign.it', 'phone' => '+39 02 1234 5678', 'company' => 'Italian Design SpA', 'address' => 'Via Monte Napoleone 8', 'city' => 'Milan', 'state' => null, 'zip' => '20121', 'country' => 'Italy', 'tax_id' => 'IT12345678901', 'is_active' => true],
            ['name' => 'Dutch Trading BV', 'email' => 'financien@dutchtrading.nl', 'phone' => '+31 20 123 4567', 'company' => 'Dutch Trading BV', 'address' => 'Herengracht 200', 'city' => 'Amsterdam', 'state' => null, 'zip' => '1016 BS', 'country' => 'Netherlands', 'tax_id' => 'NL123456789B01', 'is_active' => true],
            ['name' => 'Spanish Services SL', 'email' => 'contabilidad@spanishservices.es', 'phone' => '+34 91 123 45 67', 'company' => 'Spanish Services SL', 'address' => 'Gran Vía 42', 'city' => 'Madrid', 'state' => null, 'zip' => '28013', 'country' => 'Spain', 'tax_id' => 'ESA12345678', 'is_active' => true],
            ['name' => 'Hong Kong Trading Ltd', 'email' => 'accounts@hktrading.hk', 'phone' => '+852 2345 6789', 'company' => 'Hong Kong Trading Limited', 'address' => 'Central Plaza, Level 20', 'city' => 'Hong Kong', 'state' => null, 'zip' => null, 'country' => 'Hong Kong', 'tax_id' => 'HK12345678-000-00-00-0', 'is_active' => true],
            ['name' => 'Russian Resources ZAO', 'email' => 'finance@rusresources.ru', 'phone' => '+7 495 123 45 67', 'company' => 'Russian Resources ZAO', 'address' => 'Tverskaya Street 15', 'city' => 'Moscow', 'state' => null, 'zip' => '125009', 'country' => 'Russia', 'tax_id' => 'RU7712345678', 'is_active' => false],
            ['name' => 'Polish Manufacturing', 'email' => 'ksiegowosc@polmanufac.pl', 'phone' => '+48 22 123 45 67', 'company' => 'Polish Manufacturing Sp. z o.o.', 'address' => 'ul. Marszałkowska 100', 'city' => 'Warsaw', 'state' => null, 'zip' => '00-026', 'country' => 'Poland', 'tax_id' => 'PL1234567890', 'is_active' => true],
            ['name' => 'South African Logistics', 'email' => 'accounts@salogistics.co.za', 'phone' => '+27 11 123 4567', 'company' => 'South African Logistics Pty Ltd', 'address' => 'Sandton City Office Tower', 'city' => 'Johannesburg', 'state' => 'Gauteng', 'zip' => '2196', 'country' => 'South Africa', 'tax_id' => 'ZA4123456789', 'is_active' => true],
            ['name' => 'New Zealand Exports', 'email' => 'billing@nzexports.co.nz', 'phone' => '+64 9 123 4567', 'company' => 'New Zealand Exports Ltd', 'address' => '50 Queen Street', 'city' => 'Auckland', 'state' => null, 'zip' => '1010', 'country' => 'New Zealand', 'tax_id' => 'NZ12-345-678', 'is_active' => true],
            ['name' => 'Irish Innovations Ltd', 'email' => 'finance@irishinnovations.ie', 'phone' => '+353 1 234 5678', 'company' => 'Irish Innovations Limited', 'address' => 'Grand Canal Dock', 'city' => 'Dublin', 'state' => null, 'zip' => 'D02 Y489', 'country' => 'Ireland', 'tax_id' => 'IE1234567T', 'is_active' => true],
        ];

        foreach ($customers as $customer) {
            Customer::updateOrCreate(
                ['email' => $customer['email']],
                $customer
            );
        }
    }
}
