PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 / Domain / ValueObjects / Discount.php
ameliabooking / src / Domain / ValueObjects Last commit date
DateTime 6 months ago Number 6 months ago String 1 month ago BooleanValueObject.php 6 months ago Discount.php 6 months ago DiscountFixedValue.php 2 months ago DiscountPercentageValue.php 6 months ago Duration.php 7 years ago Gender.php 1 year ago GeoTag.php 7 years ago Json.php 6 months ago Picture.php 1 year ago PositiveDuration.php 7 years ago Priority.php 6 months ago Recurring.php 4 years ago
Discount.php
70 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Domain\ValueObjects;
9
10 /**
11 * Class Discount
12 *
13 * @package AmeliaBooking\Domain\ValueObjects
14 */
15 final class Discount
16 {
17 public const PERCENTAGE = 1;
18 public const FIXED = 2;
19
20 /** @var int|null */
21 private $id;
22
23 /** @var float */
24 private $amount;
25
26 /** @var int */
27 private $type;
28
29 /**
30 * Discount constructor.
31 *
32 * @param float $amount
33 * @param int $type
34 */
35 public function __construct($amount, $type = self::PERCENTAGE)
36 {
37 $this->amount = $amount;
38 $this->type = (int)$type;
39 }
40
41 /**
42 * @return float
43 */
44 public function getAmount()
45 {
46 return $this->amount;
47 }
48
49
50 /**
51 * @return int
52 */
53 public function getType()
54 {
55 return $this->type;
56 }
57
58
59 /**
60 * @return array
61 */
62 public function toArray()
63 {
64 return [
65 'amount' => $this->getAmount(),
66 'type' => $this->getType(),
67 ];
68 }
69 }
70