/
vladislavts
/
gcppmsp
Обзор
Документация
Войти
/
vladislavts
/
gcppmsp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
prod
src/Services/ScheduleSaver.php
64 строки
2 KB
Vladislav
корректировки
25 ноя 2023, 12:45
25 ноя 2023, 12:45
c0c198e
Код
Авторство
О чём код?
<?php namespace App\Services; use App\Entity\Schedule; class ScheduleSaver { private array $days = [ 'pn'=>'1', 'vt'=>'2', 'sr'=>'3', 'cht'=>'4', 'pt'=>'5', 'sb'=>'6', 'vs'=>'7', ]; public function getShedules($form, $em):bool { $scheduleData = $this->getDataFromForm($form); foreach ($this->days as $d => $n){ if ($form->get($d ."_start")->getViewData()){ $start = $this->timeToNum($form->get($d ."_start")->getViewData()); $end = $this->timeToNum($form->get($d ."_end")->getViewData()); if (!$start == 0 ){ $schedule = new Schedule(); $schedule ->setName($scheduleData["name"]) ->setFilial($scheduleData["filial"]) ->setWorker($scheduleData["worker"]) ->setDay($this->days[$d]) ->setStart($start) ->setEndTime($end); $em->persist($schedule); $em->flush(); } } } return true; } public function timeToNum($time): int { $toArr = explode(":", $time); return (integer)$toArr[0]*60 + (integer)$toArr[1]; } public function getDataFromForm($form): array { return [ "name" => $form->get("name")->getViewData(), "filial" => $form->get("filial")->getNormData(), "worker" => $form->get("worker")->getNormData(), ]; } }