<?php

namespace App\Classes\Modules\Wallets\DataTransferObjects;

use App\Classes\General\Interfaces\DataTransferObject;

class WalletTransactionObject implements DataTransferObject
{

    private $wallet_id;

    private $bill_no;
    
    private $trans_type;
    
    private $amount;
    
    private $currency_id;
    
    private $original_amount;
    
    private $original_currency_id;

    private $currency_rate;
    
    public function __construct(
        int $wallet_id, int $bill_no,int $trans_type,
        float $amount, int $currency_id, int $original_amount,
        int $original_currency_id, float $currency_rate
    ){
        $this->wallet_id = $wallet_id;
        $this->bill_no = $bill_no;
        $this->trans_type = $trans_type;
        $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;
    }

    /**
     * @return int
     */
    public function getWalletId(): int
    {
        return $this->wallet_id;
    }
    
    /**
     * @return int
     */
    public function getBillNo(): int
    {
        return $this->bill_no;
    }
    
    /**
     * @return int
     */
    public function getTransType(): int
    {
        return $this->trans_type;
    }
    
    
    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;
    }
}