41 lines
1006 B
PHP
41 lines
1006 B
PHP
<?php
|
|
|
|
namespace App\Actions;
|
|
|
|
use App\Models\Multiline;
|
|
use App\Models\MultilineSetting;
|
|
use Filament\Notifications\Notification;
|
|
|
|
class MultilineGenerator
|
|
{
|
|
public static function run($record)
|
|
{
|
|
$client_id = $record->id;
|
|
|
|
Multiline::where('client_id', $client_id)->update(['disabled' => 1]);
|
|
|
|
foreach ($record->sport as $sportid) {
|
|
|
|
$multilines = MultilineSetting::where('sport_id', $sportid)->get();
|
|
|
|
foreach ($multilines as $multiline) {
|
|
|
|
for ($i = 1; $i <= $multiline->rows; $i++) {
|
|
|
|
Multiline::updateOrCreate(
|
|
['client_id' => $client_id, 'sport_id' => $sportid],
|
|
['name' => $multiline->name, 'table' => $multiline->table, 'sort' => $i, 'disabled' => 0]
|
|
);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
Notification::make()
|
|
->title('Multiline generated successfully')
|
|
->success()
|
|
->send();
|
|
|
|
}
|
|
}
|