<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

/**
 * InPractice — Marketing Generic Case Seeder (Master)
 * ══════════════════════════════════════════════════════════════════
 * Layer  : Generic (applies to any business, any sector)
 * Hub    : Marketing
 * Cases  : 50 total across 8 topic tracks
 * Files  : 10 child seeders × 5 cases each
 *
 * Topics:
 *   1. Brand Strategy (MG-BS-01..07)             — 7 cases
 *   2. Digital Marketing (MG-DM-01..07)          — 7 cases
 *   3. Market Research (MG-MR-01..06)            — 6 cases
 *   4. Campaign Planning & Execution (MG-CP-01..06) — 6 cases
 *   5. Pricing & Consumer Psychology (MG-PC-01..06) — 6 cases
 *   6. Content & Social Media (MG-CS-01..06)     — 6 cases
 *   7. Customer Acquisition & Retention (MG-CAR-01..06) — 6 cases
 *   8. Marketing Analytics & Reporting (MG-MA-01..06)   — 6 cases
 *
 * Run all 50 cases at once:
 *   php artisan db:seed --class=MarketingGenericCaseSeeder
 *
 * Run a single file (e.g. for testing):
 *   php artisan db:seed --class=MarketingGenericCaseSeeder_01
 *
 * File distribution:
 *   01 → BS-01..05      Brand Strategy (1-5)
 *   02 → BS-06..07, DM-01..03    Brand Strategy (6-7) + Digital Mktg (1-3)
 *   03 → DM-04..07, MR-01        Digital Marketing (4-7) + Market Research (1)
 *   04 → MR-02..06               Market Research (2-6)
 *   05 → CP-01..05               Campaign Planning (1-5)
 *   06 → CP-06, PC-01..04        Campaign Planning (6) + Pricing (1-4)
 *   07 → PC-05..06, CS-01..03    Pricing (5-6) + Content & Social (1-3)
 *   08 → CS-04..06, CAR-01..02   Content & Social (4-6) + Cust. Acq. (1-2)
 *   09 → CAR-03..06, MA-01       Customer Acq. (3-6) + Analytics (1)
 *   10 → MA-02..06               Marketing Analytics (2-6)
 * ══════════════════════════════════════════════════════════════════
 */
class MarketingGenericCaseSeeder extends Seeder
{
    public function run(): void
    {
        $this->command->info('');
        $this->command->info('╔══════════════════════════════════════════════════════════╗');
        $this->command->info('║   InPractice — Marketing Generic Cases (50 total)        ║');
        $this->command->info('╚══════════════════════════════════════════════════════════╝');
        $this->command->info('');

        $this->call([
            MarketingGenericCaseSeeder_01::class,  // Brand Strategy 1-5
            MarketingGenericCaseSeeder_02::class,  // Brand Strategy 6-7, Digital Mktg 1-3
            MarketingGenericCaseSeeder_03::class,  // Digital Mktg 4-7, Market Research 1
            MarketingGenericCaseSeeder_04::class,  // Market Research 2-6
            MarketingGenericCaseSeeder_05::class,  // Campaign Planning 1-5
            MarketingGenericCaseSeeder_06::class,  // Campaign Planning 6, Pricing 1-4
            MarketingGenericCaseSeeder_07::class,  // Pricing 5-6, Content & Social 1-3
            MarketingGenericCaseSeeder_08::class,  // Content & Social 4-6, Cust.Acq. 1-2
            MarketingGenericCaseSeeder_09::class,  // Cust.Acq. 3-6, Analytics 1
            MarketingGenericCaseSeeder_10::class,  // Analytics 2-6
        ]);

        $this->command->info('');
        $this->command->info('✅ All 50 Marketing Generic Cases seeded successfully.');
        $this->command->info('');
    }
}
