<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\MeioAmbiente\CastracaoAnimal\Raca;
use Illuminate\Support\Facades\DB;

class RacasSeeder extends Seeder {

    public function run() {
        // Desativar verificação de chaves estrangeiras para melhor performance
        DB::statement('SET FOREIGN_KEY_CHECKS=0');
        Raca::truncate();
        DB::statement('SET FOREIGN_KEY_CHECKS=1');

        $racas = [
            // ==================== CÃES BRADUICEFÁLICOS ====================
            ['nome_raca' => 'Bulldog Inglês', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Bulldog Francês', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Pug', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Boston Terrier', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Pequinês', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Shih Tzu', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Boxer', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Dogue de Bordeaux', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Mastiff Inglês', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Lhasa Apso', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Cavalier King Charles Spaniel', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Bullmastiff', 'is_braquicefalico' => true, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            // ==================== CÃES NÃO BRADUICEFÁLICOS ====================
            ['nome_raca' => 'Pastor Alemão', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Labrador Retriever', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Golden Retriever', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Poodle', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Dachshund', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Beagle', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Yorkshire Terrier', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Rottweiler', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Doberman Pinscher', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Border Collie', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Husky Siberiano', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Chihuahua', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Cocker Spaniel', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Setter Irlandês', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Galgo', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Schnauzer', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Boiadeiro Australiano', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Shetland Sheepdog', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Maltês', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Weimaraner', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Pointer', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Basset Hound', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'São Bernardo', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Jack Russell Terrier', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Fox Terrier', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Akita', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Shar Pei', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Bernese', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Great Dane', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Pinscher', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Staffordshire Bull Terrier', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'American Staffordshire Terrier', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Pit Bull', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Dalmatian', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'West Highland White Terrier', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Bichon Frisé', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Papillon', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Whippet', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            // ==================== GATOS BRADUICEFÁLICOS ====================
            ['nome_raca' => 'Persa', 'is_braquicefalico' => true, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Himalaio', 'is_braquicefalico' => true, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Exótico de Pelo Curto', 'is_braquicefalico' => true, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Britânico de Pelo Curto', 'is_braquicefalico' => true, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Scottish Fold', 'is_braquicefalico' => true, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Selkirk Rex', 'is_braquicefalico' => true, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Burmilla', 'is_braquicefalico' => true, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            // ==================== GATOS NÃO BRADUICEFÁLICOS ====================
            ['nome_raca' => 'Siamês', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Maine Coon', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Sphynx', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Ragdoll', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Bengal', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Abissínio', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Siberiano', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Norueguês da Floresta', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Azul Russo', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Angorá Turco', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Burmês', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Ocicat', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Cornish Rex', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Devon Rex', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Tonquinês', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Somali', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Chartreux', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Korat', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Gato de Pelo Curto Americano', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Gato de Pelo Curto Europeu', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Gato de Pelo Curto Brasileiro', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Bombay', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Manx', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Turkish Van', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'LaPerm', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Munchkin', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Peterbald', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            // ==================== RAÇAS MISTAS/SRD ====================
            ['nome_raca' => 'Vira-lata (SRD) - Cão', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Vira-lata (SRD) - Gato', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Sem Raça Definida - Cão', 'is_braquicefalico' => false, 'especie' => 'Cão', 'status' => 'ATIVADO'],
            ['nome_raca' => 'Sem Raça Definida - Gato', 'is_braquicefalico' => false, 'especie' => 'Gato', 'status' => 'ATIVADO'],
        ];

        foreach ($racas as $raca) {
            Raca::create($raca);
        }

        $this->command->info(sprintf('Foram inseridas %d raças na tabela.', count($racas)));
        $this->command->info('Distribuição por espécie:');
        $this->command->info('- Cães: ' . count(array_filter($racas, fn($r) => $r['especie'] === 'Cão')));
        $this->command->info('- Gatos: ' . count(array_filter($racas, fn($r) => $r['especie'] === 'Gato')));
        $this->command->info('Braquicefálicos: ' . count(array_filter($racas, fn($r) => $r['is_braquicefalico'] === true)));
    }
}
