<?php

namespace Database\Seeders;

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

class TaxRateSeeder extends Seeder
{
    public function run()
    {
        $taxRates = [
            ['code' => 'AL', 'name' => 'Alabama', 'rate' => 4.00],
            ['code' => 'AK', 'name' => 'Alaska', 'rate' => 0.00],
            ['code' => 'AZ', 'name' => 'Arizona', 'rate' => 5.60],
            ['code' => 'AR', 'name' => 'Arkansas', 'rate' => 6.50],
            ['code' => 'CA', 'name' => 'California', 'rate' => 7.25],
            ['code' => 'CO', 'name' => 'Colorado', 'rate' => 2.90],
            ['code' => 'CT', 'name' => 'Connecticut', 'rate' => 6.35],
            ['code' => 'DE', 'name' => 'Delaware', 'rate' => 0.00],
            ['code' => 'FL', 'name' => 'Florida', 'rate' => 6.00],
            ['code' => 'GA', 'name' => 'Georgia', 'rate' => 4.00],
            ['code' => 'HI', 'name' => 'Hawaii', 'rate' => 4.00],
            ['code' => 'ID', 'name' => 'Idaho', 'rate' => 6.00],
            ['code' => 'IL', 'name' => 'Illinois', 'rate' => 6.25],
            ['code' => 'IN', 'name' => 'Indiana', 'rate' => 7.00],
            ['code' => 'IA', 'name' => 'Iowa', 'rate' => 6.00],
            ['code' => 'KS', 'name' => 'Kansas', 'rate' => 6.50],
            ['code' => 'KY', 'name' => 'Kentucky', 'rate' => 6.00],
            ['code' => 'LA', 'name' => 'Louisiana', 'rate' => 4.45],
            ['code' => 'ME', 'name' => 'Maine', 'rate' => 5.50],
            ['code' => 'MD', 'name' => 'Maryland', 'rate' => 6.00],
            ['code' => 'MA', 'name' => 'Massachusetts', 'rate' => 6.25],
            ['code' => 'MI', 'name' => 'Michigan', 'rate' => 6.00],
            ['code' => 'MN', 'name' => 'Minnesota', 'rate' => 6.88],
            ['code' => 'MS', 'name' => 'Mississippi', 'rate' => 7.00],
            ['code' => 'MO', 'name' => 'Missouri', 'rate' => 4.23],
            ['code' => 'MT', 'name' => 'Montana', 'rate' => 0.00],
            ['code' => 'NE', 'name' => 'Nebraska', 'rate' => 5.50],
            ['code' => 'NV', 'name' => 'Nevada', 'rate' => 6.85],
            ['code' => 'NH', 'name' => 'New Hampshire', 'rate' => 0.00],
            ['code' => 'NJ', 'name' => 'New Jersey', 'rate' => 6.63],
            ['code' => 'NM', 'name' => 'New Mexico', 'rate' => 5.13],
            ['code' => 'NY', 'name' => 'New York', 'rate' => 4.00],
            ['code' => 'NC', 'name' => 'North Carolina', 'rate' => 4.75],
            ['code' => 'ND', 'name' => 'North Dakota', 'rate' => 5.00],
            ['code' => 'OH', 'name' => 'Ohio', 'rate' => 5.75],
            ['code' => 'OK', 'name' => 'Oklahoma', 'rate' => 4.50],
            ['code' => 'OR', 'name' => 'Oregon', 'rate' => 0.00],
            ['code' => 'PA', 'name' => 'Pennsylvania', 'rate' => 6.00],
            ['code' => 'RI', 'name' => 'Rhode Island', 'rate' => 7.00],
            ['code' => 'SC', 'name' => 'South Carolina', 'rate' => 6.00],
            ['code' => 'SD', 'name' => 'South Dakota', 'rate' => 4.50],
            ['code' => 'TN', 'name' => 'Tennessee', 'rate' => 7.00],
            ['code' => 'TX', 'name' => 'Texas', 'rate' => 6.25],
            ['code' => 'UT', 'name' => 'Utah', 'rate' => 6.10],
            ['code' => 'VT', 'name' => 'Vermont', 'rate' => 6.00],
            ['code' => 'VA', 'name' => 'Virginia', 'rate' => 5.30],
            ['code' => 'WA', 'name' => 'Washington', 'rate' => 6.50],
            ['code' => 'WV', 'name' => 'West Virginia', 'rate' => 6.00],
            ['code' => 'WI', 'name' => 'Wisconsin', 'rate' => 5.00],
            ['code' => 'WY', 'name' => 'Wyoming', 'rate' => 4.00],
            ['code' => 'DC', 'name' => 'District of Columbia', 'rate' => 6.00],
            ['code' => 'PR', 'name' => 'Puerto Rico', 'rate' => 10.50],
            ['code' => 'VI', 'name' => 'Virgin Islands', 'rate' => 5.00],
            ['code' => 'GU', 'name' => 'Guam', 'rate' => 4.00],
            ['code' => 'AS', 'name' => 'American Samoa', 'rate' => 0.00],
            ['code' => 'MP', 'name' => 'Northern Mariana Islands', 'rate' => 0.00]
        ];

        foreach ($taxRates as $rate) {
            TaxRate::create([
                'state_code' => $rate['code'],
                'state_name' => $rate['name'],
                'country_code' => 'US',
                'country' => 'United States',
                'description' => 'Sales tax for ' . $rate['name'],
                'rate' => $rate['rate'],
                'active' => true
            ]);
        }
    }
}