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 / Coupon / CouponPackageRepository.php
ameliabooking / src / Infrastructure / Repository / Coupon Last commit date
CouponEventRepository.php 1 year ago CouponPackageRepository.php 1 year ago CouponRepository.php 1 year ago CouponServiceRepository.php 1 year ago
CouponPackageRepository.php
84 lines
1 <?php
2
3 namespace AmeliaBooking\Infrastructure\Repository\Coupon;
4
5 use AmeliaBooking\Domain\Entity\Bookable\Service\Package;
6 use AmeliaBooking\Domain\Entity\Coupon\Coupon;
7 use AmeliaBooking\Infrastructure\Common\Exceptions\QueryExecutionException;
8 use AmeliaBooking\Infrastructure\Repository\AbstractRepository;
9
10 /**
11 * Class CouponPackageRepository
12 *
13 * @package AmeliaBooking\Infrastructure\Repository\Coupon
14 */
15 class CouponPackageRepository extends AbstractRepository
16 {
17 /**
18 * @param Coupon $coupon
19 * @param Package $package
20 *
21 * @return mixed
22 * @throws QueryExecutionException
23 */
24 public function add($coupon, $package)
25 {
26 $couponData = $coupon->toArray();
27 $packageData = $package->toArray();
28
29 $params = [
30 ':couponId' => $couponData['id'],
31 ':packageId' => $packageData['id'],
32 ];
33
34 try {
35 $statement = $this->connection->prepare(
36 "INSERT INTO {$this->table}
37 (
38 `couponId`,
39 `packageId`
40 )
41 VALUES (
42 :couponId,
43 :packageId
44 )"
45 );
46
47 $res = $statement->execute($params);
48
49 if (!$res) {
50 throw new QueryExecutionException('Unable to add data in ' . __CLASS__);
51 }
52
53 return $this->connection->lastInsertId();
54 } catch (\Exception $e) {
55 throw new QueryExecutionException('Unable to add data in ' . __CLASS__, $e->getCode(), $e);
56 }
57 }
58
59 /**
60 * @param int $couponId
61 * @param int $packageId
62 *
63 * @return mixed
64 * @throws QueryExecutionException
65 */
66 public function deleteForPackage($couponId, $packageId)
67 {
68 $params = [
69 ':couponId' => $couponId,
70 ':packageId' => $packageId,
71 ];
72
73 try {
74 $statement = $this->connection->prepare(
75 "DELETE FROM {$this->table} WHERE couponId = :couponId AND packageId = :packageId"
76 );
77
78 return $statement->execute($params);
79 } catch (\Exception $e) {
80 throw new QueryExecutionException('Unable to delete data from ' . __CLASS__, $e->getCode(), $e);
81 }
82 }
83 }
84