PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.32
Booking for Appointments and Events Calendar – Amelia v1.2.32
2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Infrastructure / Repository / Schedule / WeekDayRepository.php
ameliabooking / src / Infrastructure / Repository / Schedule Last commit date
DayOffRepository.php 1 year ago PeriodLocationRepository.php 1 year ago PeriodRepository.php 1 year ago PeriodServiceRepository.php 1 year ago SpecialDayPeriodLocationRepository.php 1 year ago SpecialDayPeriodRepository.php 1 year ago SpecialDayPeriodServiceRepository.php 1 year ago SpecialDayRepository.php 1 year ago TimeOutRepository.php 1 year ago WeekDayRepository.php 1 year ago
WeekDayRepository.php
91 lines
1 <?php
2
3 namespace AmeliaBooking\Infrastructure\Repository\Schedule;
4
5 use AmeliaBooking\Domain\Entity\Schedule\WeekDay;
6 use AmeliaBooking\Domain\Factory\Schedule\WeekDayFactory;
7 use AmeliaBooking\Infrastructure\Common\Exceptions\QueryExecutionException;
8 use AmeliaBooking\Infrastructure\Repository\AbstractRepository;
9
10 /**
11 * Class WeekDayRepository
12 *
13 * @package AmeliaBooking\Infrastructure\Repository\Schedule
14 */
15 class WeekDayRepository extends AbstractRepository
16 {
17 public const FACTORY = WeekDayFactory::class;
18
19 /**
20 * @param WeekDay $entity
21 * @param int $userId
22 *
23 * @return int
24 * @throws QueryExecutionException
25 */
26 public function add($entity, $userId)
27 {
28 $data = $entity->toArray();
29
30 $params = [
31 ':userId' => $userId,
32 ':dayIndex' => $data['dayIndex'],
33 ':startTime' => $data['startTime'],
34 ':endTime' => $data['endTime'],
35 ];
36
37 try {
38 $statement = $this->connection->prepare(
39 "INSERT INTO {$this->table}
40 (`userId`, `dayIndex`, `startTime`, `endTime`)
41 VALUES
42 (:userId, :dayIndex, :startTime, :endTime)"
43 );
44
45 $res = $statement->execute($params);
46 if (!$res) {
47 throw new QueryExecutionException('Unable to add data in ' . __CLASS__);
48 }
49 } catch (\Exception $e) {
50 throw new QueryExecutionException('Unable to add data in ' . __CLASS__, $e->getCode(), $e);
51 }
52
53 return $this->connection->lastInsertId();
54 }
55
56 /**
57 * @param WeekDay $entity
58 * @param int $id
59 *
60 * @return bool
61 * @throws QueryExecutionException
62 */
63 public function update($entity, $id)
64 {
65 $data = $entity->toArray();
66
67 $params = [
68 ':id' => $id,
69 ':startTime' => $data['startTime'],
70 ':endTime' => $data['endTime'],
71 ];
72
73 try {
74 $statement = $this->connection->prepare(
75 "UPDATE {$this->table}
76 SET `startTime` = :startTime, `endTime` = :endTime
77 WHERE id = :id"
78 );
79
80 $res = $statement->execute($params);
81 if (!$res) {
82 throw new QueryExecutionException('Unable to save data in ' . __CLASS__);
83 }
84
85 return $res;
86 } catch (\Exception $e) {
87 throw new QueryExecutionException('Unable to save data in ' . __CLASS__, $e->getCode(), $e);
88 }
89 }
90 }
91