58 lines
1.9 KiB
PHP
58 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace kernel\app_modules\event\services;
|
|
|
|
use kernel\helpers\Debug;
|
|
use kernel\app_modules\event\models\Event;
|
|
use kernel\FormModel;
|
|
|
|
class EventService
|
|
{
|
|
public function create(FormModel $form_model): false|Event
|
|
{
|
|
$model = new Event();
|
|
$model->title = $form_model->getItem('title');
|
|
$model->type = $form_model->getItem('type');
|
|
$model->hours_count = $form_model->getItem('hours_count');
|
|
$model->date_start = $form_model->getItem('date_start');
|
|
$model->date_end = $form_model->getItem('date_end');
|
|
$model->place = $form_model->getItem('place');
|
|
$model->event_format = $form_model->getItem('event_format');
|
|
$model->description = $form_model->getItem('description');
|
|
$model->additional_info = $form_model->getItem('additional_info');
|
|
$model->status = $form_model->getItem('status');
|
|
|
|
if ($model->save()){
|
|
return $model;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public function update(FormModel $form_model, Event $event): false|Event
|
|
{
|
|
$event->title = $form_model->getItem('title');
|
|
$event->type = $form_model->getItem('type');
|
|
$event->hours_count = $form_model->getItem('hours_count');
|
|
$event->date_start = $form_model->getItem('date_start');
|
|
$event->date_end = $form_model->getItem('date_end');
|
|
$event->place = $form_model->getItem('place');
|
|
$event->event_format = $form_model->getItem('event_format');
|
|
$event->description = $form_model->getItem('description');
|
|
$event->additional_info = $form_model->getItem('additional_info');
|
|
$event->status = $form_model->getItem('status');
|
|
|
|
if ($event->save()){
|
|
return $event;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public static function getList(): array
|
|
{
|
|
return Event::select('id', 'title')->get()
|
|
->pluck('title', 'id')
|
|
->toArray();
|
|
}
|
|
} |