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();
 | 
						|
    }
 | 
						|
} |