|
- <?php
-
- namespace App\Kintone\Models\SubTable\SeasonTicketContractSelection;
-
- use App\Kintone\Models\SeasonTicketContractSelection;
- use App\Kintone\Models\SubTable\SubTableData;
- use App\Util\DateUtil;
- use Illuminate\Support\Carbon;
-
- class Candidate extends SubTableData
- {
-
- public bool $emailSendTarget;
- public int $entryRecordNo;
- public string $status;
- public string $planName;
- public string $entryNo;
- public string $name;
- public ?Carbon $entryDatetime;
- public ?Carbon $wantsToUseStartDate;
- public int $carAmount;
- public string $email;
-
- public function __construct(array $data = [])
- {
- $this->emailSendTarget = count(data_get($data, SeasonTicketContractSelection::FIELD_CANDIDATE_EMAIL_SEND_TARGET, [])) !== 0;
- $this->entryRecordNo = intval(data_get($data, SeasonTicketContractSelection::FIELD_CANDIDATE_LIST_RECORD_NO, 0));
- $this->planName = data_get($data, SeasonTicketContractSelection::FIELD_CANDIDATE_LIST_STATUS, "");
- $this->planName = data_get($data, SeasonTicketContractSelection::FIELD_CANDIDATE_LIST_PLAN, "");
- $this->entryNo = data_get($data, SeasonTicketContractSelection::FIELD_CANDIDATE_LIST_PLAN, "");
- $this->name = data_get($data, SeasonTicketContractSelection::FIELD_CANDIDATE_LIST_NAME, "");
- $this->entryDatetime = DateUtil::parse(data_get($data, SeasonTicketContractSelection::FIELD_TARGET_ROOM_LIST_ROOM_NO, ""));
- $this->wantsToUseStartDate = DateUtil::parse(data_get($data, SeasonTicketContractSelection::FIELD_CANDIDATE_LIST_WANTS_TO_USE_START_DATE, ""));
- $this->carAmount = intval(data_get($data, SeasonTicketContractSelection::FIELD_CANDIDATE_LIST_CAR_AMOUNT, 0));
- $this->email = data_get($data, SeasonTicketContractSelection::FIELD_TARGET_ROOM_LIST_ROOM_NO, "");
-
- parent::__construct($data);
- }
-
- public function toArray(): array
- {
- return [
- SeasonTicketContractSelection::FIELD_CANDIDATE_EMAIL_SEND_TARGET => $this->emailSendTarget ? ["〇"] : [],
- SeasonTicketContractSelection::FIELD_CANDIDATE_LIST_RECORD_NO => $this->entryRecordNo,
- ];
- }
- }
|