<?php

namespace App\Classes\Modules\Receipts\DataTransferObjects;

use App\Classes\General\Interfaces\DataTransferObject;

class ReceiptObject implements DataTransferObject
{

    /*
     *
     * return [
            'id' => $this->id,
            'trans_type1' => $this->trans_type1,
            'trans_type2' => $this->trans_type2,
            'bill_no' => (int) $this->bill_no,
            'amount' => (float) $this->amount,
            'currency_id' => (int) $this->currency_id,
            'original_amount' => (float) $this->original_amount,
            'original_currency_id' => (int) $this->original_currency_id,
            'currency_rate' => (float) $this->currency_rate,
            'dt_transaction' => $this->dt_transaction,
            'status' => (int) $this->status,
            'booking_id' => (int) $this->booking_id,
            'company_id' => (int) $this->company_id
        ];
     */
    private $trans_type1;

    private $trans_type2;

    private $bill_no;

    private $amount;

    private $currency_id;

    private $original_amount;

    private $original_currency_id;

    private $currency_rate;

    private $dt_transaction;

    private $status;

    private $booking_id;

    private $company_id;

    public function __construct(
        int $bill_no,string $trans_type1,string $trans_type2,
        float $amount, int $currency_id, int $original_amount,
        int $original_currency_id, float $currency_rate,
        string $dt_transaction,int $status,int $booking_id,
        int $company_id
    ){
        $this->bill_no = $bill_no;
        $this->trans_type1= $trans_type1;
        $this->trans_type2 = $trans_type2;
        $this->amount= $amount;
        $this->currency_id = $currency_id;
        $this->original_amount = $original_amount;
        $this->original_currency_id = $original_currency_id;
        $this->currency_rate = $currency_rate;
        $this->dt_transaction = $dt_transaction;
        $this->status = $status;
        $this->booking_id = $booking_id;
        $this->company_id = $company_id;
    }


    /**
     * @return int
     */
    public function getBillNo(): int
    {
        return $this->bill_no;
    }

    /**
     * @return string
     */
    public function getTransType1(): string
    {
        return $this->trans_type1;
    }

    /**
     * @return string
     */
    public function getTransType2(): string
    {
        return $this->trans_type2;
    }


    public function getAmount(): float
    {
        return $this->amount;
    }

    /**
     * @return int
     */
    public function getCurrency(): int
    {
        return $this->currency_id;
    }


    public function getOriginalAmount(): float
    {
        return $this->original_amount;
    }

    public function getOriginalCurrency(): int
    {
        return $this->original_currency_id;
    }

    public function getCurrencyRate(): float
    {
        return $this->currency_rate;
    }

    /**
     * @return string
     */
    public function getDtTransaction(): string
    {
        return $this->dt_transaction;
    }

    public function getStatus(): int
    {
        return $this->original_currency_id;
    }

    public function getBookingId(): int
    {
        return $this->booking_id;
    }

    public function getCompanyId(): int
    {
        return $this->company_id;
    }
}
