<?php

namespace App\Classes\Modules\PerfexCRM\DataTransferObjects;

use Illuminate\Http\Request;
use App\Classes\General\Interfaces\DataTransferObject;

class InvoicePaymentPerfexCRMObject implements DataTransferObject
{
    /** @var int */
    private $invoiceId;

    /** @var float */
    private $amount;

    /** @var string */
    private $date;

    /** @var int */
    private $paymentMode;

    /** @var string */
    private $transactionId;

    /** @var string */
    private $note;


    public function __construct(int $invoiceId, float $amount, string $date, int $paymentMode, string $transactionId, string $note)
    {
        $this->invoiceId = $invoiceId;
        $this->amount = $amount;
        $this->date = $date;
        $this->paymentMode = $paymentMode;
        $this->transactionId = $transactionId;
        $this->note = $note;
    }

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

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

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

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

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

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