<?php
declare(strict_types=1);
namespace Database\Seeders;
use App\Domain\Counterparty\CounterPartyService;
use App\Domain\Counterparty\Enums\CounterPartyTypeEnum;
use App\Domain\Counterparty\Requests\CreateNewRequest;
use App\Enums\ModelsEnum;
use Illuminate\Database\Seeder;
class CounterpartySeeder extends Seeder
{
public static function getCreateRequest(int $modelID): CreateNewRequest
{
return new CreateNewRequest([
'name' => 'ООО "Тестовая компания ' . $modelID . '-' . random_int(1, 10000) . '"',
'inn' => '123456789012',
'kpp' => '123456789',
'c_type' => fake()->randomElement([
CounterPartyTypeEnum::TYPE_SUPPLIER->value,
CounterPartyTypeEnum::TYPE_STAFF->value,
]),
'comment' => 'Это комментарий'
]);
}
/**
* Run the database seeds.
*/
public function run(): void
{
$service = app()->make(CounterPartyService::class);
foreach (ModelsEnum::cases() as $case) {
for ($i = 0; $i < 10; $i++) {
$service->addNew($case->value, static::getCreateRequest($case->value));
}
}
}
}