<?php

namespace App\Classes\Modules\PerfexCRM\DataTransferObjects;

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

class UpdatePerfexCRMInvoiceObject implements DataTransferObject
{
    /** @var string */
    private $email;

    /** @var Transaction */
    private $transaction;

    /** @var bool */
    private $isPaid;

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

    public function __construct(string $email, string $projectId, Transaction $transaction, bool $isPaid)
    {
        $this->email = $email;
        $this->transaction = $transaction;
        $this->isPaid = $isPaid;
        $this->projectId = $projectId;
    }

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

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

    /**
     * @return Transaction
     */
    public function getTransaction(): Transaction
    {
        return $this->transaction;
    }

    /**
     * @return bool
     */
    public function getIsPaid(): bool
    {
        return $this->isPaid;
    }
}
