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