186 lines
3.7 KiB
PHP
186 lines
3.7 KiB
PHP
<?php namespace RVR\PersistentData\Model;
|
|
|
|
use DateTime;
|
|
use SokoWeb\PersistentData\Model\Model;
|
|
|
|
class Transaction extends Model
|
|
{
|
|
protected static string $table = 'transactions';
|
|
|
|
protected static array $fields = ['community_id', 'event_id', 'currency_id', 'payer_user_id', 'payee_user_id', 'description', 'sum', 'time'];
|
|
|
|
protected static array $relations = [
|
|
'community' => Community::class,
|
|
'event' => Event::class,
|
|
'currency' => Currency::class,
|
|
'payer_user' => User::class,
|
|
'payee_user' => User::class
|
|
];
|
|
|
|
private ?Community $community = null;
|
|
|
|
private int $communityId;
|
|
|
|
private ?Event $event = null;
|
|
|
|
private ?int $eventId = null;
|
|
|
|
private ?Currency $currency = null;
|
|
|
|
private int $currencyId;
|
|
|
|
private ?User $payerUser = null;
|
|
|
|
private int $payerUserId;
|
|
|
|
private ?User $payeeUser = null;
|
|
|
|
private ?int $payeeUserId = null;
|
|
|
|
private string $description = '';
|
|
|
|
private float $sum = 0.0;
|
|
|
|
private DateTime $time;
|
|
|
|
public function setCommunity(Community $community): void
|
|
{
|
|
$this->community = $community;
|
|
}
|
|
|
|
public function setCommunityId(int $communityId): void
|
|
{
|
|
$this->communityId = $communityId;
|
|
}
|
|
|
|
public function setEvent(?Event $event): void
|
|
{
|
|
$this->event = $event;
|
|
}
|
|
|
|
public function setEventId(?int $eventId): void
|
|
{
|
|
$this->eventId = $eventId;
|
|
}
|
|
|
|
public function setCurrency(Currency $currency): void
|
|
{
|
|
$this->currency = $currency;
|
|
}
|
|
|
|
public function setCurrencyId(int $currencyId): void
|
|
{
|
|
$this->currencyId = $currencyId;
|
|
}
|
|
|
|
public function setPayerUser(User $payerUser): void
|
|
{
|
|
$this->payerUser = $payerUser;
|
|
}
|
|
|
|
public function setPayerUserId(int $payerUserId): void
|
|
{
|
|
$this->payerUserId = $payerUserId;
|
|
}
|
|
|
|
public function setPayeeUser(?User $payeeUser): void
|
|
{
|
|
$this->payeeUser = $payeeUser;
|
|
}
|
|
|
|
public function setPayeeUserId(?int $payeeUserId): void
|
|
{
|
|
$this->payeeUserId = $payeeUserId;
|
|
}
|
|
|
|
public function setDescription(string $description): void
|
|
{
|
|
$this->description = $description;
|
|
}
|
|
|
|
public function setSum(float $sum): void
|
|
{
|
|
$this->sum = $sum;
|
|
}
|
|
|
|
public function setTimeDate(DateTime $time): void
|
|
{
|
|
$this->time = $time;
|
|
}
|
|
|
|
public function setTime(string $time): void
|
|
{
|
|
$this->time = new DateTime($time);
|
|
}
|
|
|
|
public function getCommunity(): ?Community
|
|
{
|
|
return $this->community;
|
|
}
|
|
|
|
public function getCommunityId(): int
|
|
{
|
|
return $this->communityId;
|
|
}
|
|
|
|
public function getEvent(): ?Event
|
|
{
|
|
return $this->event;
|
|
}
|
|
|
|
public function getEventId(): ?int
|
|
{
|
|
return $this->eventId;
|
|
}
|
|
|
|
public function getCurrency(): ?Currency
|
|
{
|
|
return $this->currency;
|
|
}
|
|
|
|
public function getCurrencyId(): int
|
|
{
|
|
return $this->currencyId;
|
|
}
|
|
|
|
public function getPayerUser(): ?User
|
|
{
|
|
return $this->payerUser;
|
|
}
|
|
|
|
public function getPayerUserId(): int
|
|
{
|
|
return $this->payerUserId;
|
|
}
|
|
|
|
public function getPayeeUser(): ?User
|
|
{
|
|
return $this->payeeUser;
|
|
}
|
|
|
|
public function getPayeeUserId(): ?int
|
|
{
|
|
return $this->payeeUserId;
|
|
}
|
|
|
|
public function getDescription(): string
|
|
{
|
|
return $this->description;
|
|
}
|
|
|
|
public function getSum(): float
|
|
{
|
|
return $this->sum;
|
|
}
|
|
|
|
public function getTimeDate(): DateTime
|
|
{
|
|
return $this->time;
|
|
}
|
|
|
|
public function getTime(): string
|
|
{
|
|
return $this->time->format('Y-m-d H:i:s');
|
|
}
|
|
}
|