Files
exchange-2.0/app/Classes/Modules/SegmentConstants/Standards/Validators/SegmentConstantValidation.php
T
CheeSiong 8b01421be7 -Update Non Standard Segment Logic Class
-Update Non Segment Constant Service Class
-Create Non Standard Segment Constant Logic Class
-Update Non Standard Segment Constant Logic Class
-Delete Non Standard Segment Logic Class
2020-11-17 12:08:10 +08:00

126 lines
4.1 KiB
PHP

<?php
namespace App\Classes\Modules\SegmentConstants\Standards\Validators;
use App\Classes\General\Abstracts\AbstractValidation;
use App\Classes\Modules\SegmentConstants\DataTransferObjects\SegmentConstantObject;
class SegmentConstantValidation extends AbstractValidation
{
/**
* @param SegmentConstantObject $object
* @return array
*/
protected function data($object): array {
$this->reference = $object->getReference();
if ($this->reference == 'TAX') {
return [
'segment_id'=> $object->getSegmentId(),
'name' => $object->getName(),
'reference' => $object->getReference(),
'type' => $object->getType(),
'value' => $object->getValue()
];
}
elseif ($this->reference == 'BILLING_FEE') {
return [
'segment_id' => $object->getSegmentId(),
'name' => $object->getName(),
'reference' => $object->getReference(),
'type' => $object->getType(),
'value' => $object->getValue()
];
}
elseif ($this->reference == 'SERVICE_CHARGE') {
return [
'segment_id' => $object->getSegmentId(),
'name' => $object->getName(),
'reference' => $object->getReference(),
'type' => $object->getType(),
'value' => $object->getValue()
];
}
elseif ($this->reference == 'BOOKING_AMOUNT_MAX') {
return [
'segment_id' => $object->getSegmentId(),
'name' => $object->getName(),
'reference' => $object->getReference(),
'type' => $object->getType(),
'value' => $object->getValue(),
'currency_id' => $object->getCurrencyId()
];
}
elseif ($this->reference == 'PAYMENT_ATTEMP_EXPIRY_TIME') {
return [
'segment_id' => $object->getSegmentId(),
'name' => $object->getName(),
'reference' => $object->getReference(),
'type' => $object->getType(),
'value' => $object->getValue()
];
}
}
/**
* @return array
*/
protected function rules(?string $type = 'POST'): array {
if ($this->reference == 'TAX') {
return [
'segment_id' => $type == 'POST' ? 'required' : '',
'name' => 'required',
'reference' => 'required',
'type' => 'required',
'value' => 'required'
];
}
elseif ($this->reference == 'BILLING_FEE') {
return [
'segment_id' => $type == 'POST' ? 'required' : '',
'name' => 'required',
'reference' => 'required',
'type' => 'required',
'value' => 'required'
];
}
elseif ($this->reference == 'SERVICE_CHARGE') {
return [
'segment_id' => $type == 'POST' ? 'required' : '',
'name' => 'required',
'reference' => 'required',
'type' => 'required',
'value' => 'required'
];
}
elseif ($this->reference == 'BOOKING_AMOUNT_MAX') {
return [
'segment_id' => $type == 'POST' ? 'required' : '',
'name' => 'required',
'reference' => 'required',
'type' => 'required',
'value' => 'required',
'currency_id' => 'required'
];
}
elseif ($this->reference == 'PAYMENT_ATTEMP_EXPIRY_TIME') {
return [
'segment_id' => $type == 'POST' ? 'required' : '',
'name' => 'required',
'reference' => 'required',
'type' => 'required',
'value' => 'required',
];
}
}
/**
* @return array
*/
protected function messages(): array {
return [];
}
}