1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
MarketOption.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Rest\Infrastructure\Market;
4
5
use Bitrix\Main\ObjectException;
6
use Bitrix\Main\Type\Date;
7
use Bitrix\Rest\Contract\OptionContract;
8
9
class
MarketOption
10
{
11
public
const
TRANSITION_PERIOD_DATE_FORMAT
=
'd.m.Y'
;
12
private
const
DEFAULT_TRANSITION_PERIOD_END_DATE =
'14.03.2025'
;
13
14
public
function
__construct
(
15
private
readonly
OptionContract
$option
,
16
)
17
{}
18
19
public
function
isNewPoliticsEnabled
(): bool
20
{
21
return
$this->option->get(
'isMarketNewPoliticsEnabled'
,
'N'
) ===
'Y'
;
22
}
23
24
public
function
enableNewPolitics
(): void
25
{
26
$this->option->set(
'isMarketNewPoliticsEnabled'
,
'Y'
);
27
}
28
29
public
function
isTransitionPeriodEnabled
(): bool
30
{
31
return
$this->option->get(
'isMarketTransitionPeriod'
,
'N'
) ===
'Y'
;
32
}
33
34
public
function
isDiscountAvailable
(): bool
35
{
36
return
$this->option->get(
'isMarketDiscountAvailable'
,
'N'
) ===
'Y'
;
37
}
38
39
public
function
getDiscountPercentage
(): int
40
{
41
$option
= (int)$this->option->get(
'marketDiscountPercentage'
, 0);
42
43
if
(
$option
> 0 &&
$option
<= 100)
44
{
45
return
$option
;
46
}
47
48
return
0;
49
}
50
51
public
function
getDiscountTermsUrl
(): string
52
{
53
return
$this->option->get(
'marketDiscountTermsUrl'
,
''
);
54
}
55
56
public
function
getSavedTransitionPeriodEndDate
():
Date
57
{
58
$endDateValue = $this->option->get(
'marketTransitionPeriodEndDate'
, self::DEFAULT_TRANSITION_PERIOD_END_DATE);
59
60
try
61
{
62
$endDate =
new
Date
((
string
)$endDateValue, self::TRANSITION_PERIOD_DATE_FORMAT);
63
}
64
catch
(
ObjectException
$e)
65
{
66
$endDate =
new
Date
(self::DEFAULT_TRANSITION_PERIOD_END_DATE, self::TRANSITION_PERIOD_DATE_FORMAT);
67
}
68
69
return
$endDate;
70
}
71
}
Bitrix\Main\ObjectException
Определения
ObjectException.php:9
Bitrix\Main\Type\Date
Определения
date.php:9
Bitrix\Rest\Infrastructure\Market\MarketOption
Определения
MarketOption.php:10
Bitrix\Rest\Infrastructure\Market\MarketOption\isTransitionPeriodEnabled
isTransitionPeriodEnabled()
Определения
MarketOption.php:29
Bitrix\Rest\Infrastructure\Market\MarketOption\enableNewPolitics
enableNewPolitics()
Определения
MarketOption.php:24
Bitrix\Rest\Infrastructure\Market\MarketOption\getDiscountPercentage
getDiscountPercentage()
Определения
MarketOption.php:39
Bitrix\Rest\Infrastructure\Market\MarketOption\isDiscountAvailable
isDiscountAvailable()
Определения
MarketOption.php:34
Bitrix\Rest\Infrastructure\Market\MarketOption\__construct
__construct(private readonly OptionContract $option,)
Определения
MarketOption.php:14
Bitrix\Rest\Infrastructure\Market\MarketOption\isNewPoliticsEnabled
isNewPoliticsEnabled()
Определения
MarketOption.php:19
Bitrix\Rest\Infrastructure\Market\MarketOption\TRANSITION_PERIOD_DATE_FORMAT
const TRANSITION_PERIOD_DATE_FORMAT
Определения
MarketOption.php:11
Bitrix\Rest\Infrastructure\Market\MarketOption\getDiscountTermsUrl
getDiscountTermsUrl()
Определения
MarketOption.php:51
Bitrix\Rest\Infrastructure\Market\MarketOption\getSavedTransitionPeriodEndDate
getSavedTransitionPeriodEndDate()
Определения
MarketOption.php:56
Bitrix\Rest\Contract\OptionContract
Определения
OptionContract.php:6
$option
$option
Определения
options.php:1711
bitrix
modules
rest
lib
Infrastructure
Market
MarketOption.php
Создано системой
1.14.0