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 / DiscountFixedValue.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 3 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
DiscountFixedValue.php
43 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\ValueObjects;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6
7 /**
8 * Class DiscountFixedValue
9 *
10 * @package AmeliaBooking\Domain\ValueObjects
11 */
12 final class DiscountFixedValue
13 {
14 private float $value;
15
16 /**
17 * @param mixed $value
18 *
19 * @throws InvalidArgumentException
20 */
21 public function __construct($value)
22 {
23 if ($value === null) {
24 throw new InvalidArgumentException('Discount can\'t be empty');
25 }
26
27 if (filter_var($value, FILTER_VALIDATE_FLOAT) === false) {
28 throw new InvalidArgumentException("Discount \"{$value}\" must be float");
29 }
30
31 if ($value < 0) {
32 throw new InvalidArgumentException('Discount must be larger then or equal to 0');
33 }
34
35 $this->value = (float)$value;
36 }
37
38 public function getValue(): float
39 {
40 return $this->value;
41 }
42 }
43