mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-19 04:23:55 +00:00
125 lines
2.6 KiB
PHP
125 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\Vouchers\DataTransferObjects;
|
|
|
|
use App\Classes\General\Interfaces\DataTransferObject;
|
|
use Carbon\Carbon;
|
|
use DateTime;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class VoucherObject implements DataTransferObject
|
|
{
|
|
/** @var string */
|
|
private $code;
|
|
|
|
/** @var string|null */
|
|
private $name;
|
|
|
|
/** @var string|null */
|
|
private $type;
|
|
|
|
/** @var float|null */
|
|
private $value;
|
|
|
|
/** @var string|null */
|
|
private $startDate;
|
|
|
|
/** @var string|null */
|
|
private $endDate;
|
|
|
|
/** @var int */
|
|
private $voucherCampaignId;
|
|
|
|
/**
|
|
* VoucherObject constructor.
|
|
* @param string $code
|
|
* @param string $name
|
|
* @param string $type
|
|
* @param float $value
|
|
* @param int $voucherCampaignId
|
|
* @param string $startDate
|
|
* @param string $endDate
|
|
*/
|
|
public function __construct(string $code, ?string $name, ?string $type, ?float $value, ?int $voucherCampaignId, ?string $startDate = '', ?string $endDate = '')
|
|
{
|
|
$this->code = $code;
|
|
$this->name = $name;
|
|
$this->type = $type;
|
|
$this->value = $value;
|
|
$this->voucherCampaignId = $voucherCampaignId;
|
|
$this->startDate = $startDate;
|
|
$this->endDate = $endDate;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCode(): string
|
|
{
|
|
return $this->code;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getName(): ?string
|
|
{
|
|
return $this->name;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getType(): ?string
|
|
{
|
|
return $this->type;
|
|
}
|
|
|
|
/**
|
|
* @return float
|
|
*/
|
|
public function getValue(): ?float
|
|
{
|
|
return $this->value;
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getVoucherCampaignId(): ?int
|
|
{
|
|
return $this->voucherCampaignId;
|
|
}
|
|
|
|
/**
|
|
* @return DateTime
|
|
*/
|
|
public function getStartDate(): ?DateTime
|
|
{
|
|
try {
|
|
if(!$this->startDate) return null;
|
|
// $dateTime = new DateTime($this->startDate);
|
|
$dateTime = Carbon::parse($this->startDate)->tz('Asia/Kuala_Lumpur');
|
|
return $dateTime;
|
|
} catch (\Exception $e) {
|
|
Log::error($e);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return DateTime
|
|
*/
|
|
public function getEndDate(): ?DateTime
|
|
{
|
|
try {
|
|
if(!$this->endDate) return null;
|
|
$dateTime = Carbon::parse($this->endDate)->tz('Asia/Kuala_Lumpur');
|
|
return $dateTime;
|
|
} catch (\Exception $e) {
|
|
Log::error($e);
|
|
return null;
|
|
}
|
|
}
|
|
}
|