mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-21 06:05:00 +00:00
104 lines
2.3 KiB
PHP
104 lines
2.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/*
|
|
* Chill is a software for social workers
|
|
*
|
|
* For the full copyright and license information, please view
|
|
* the LICENSE file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Chill\EventBundle\Entity;
|
|
|
|
use Chill\EventBundle\Repository\EventThemeRepository;
|
|
use Chill\MainBundle\Entity\Embeddable\CommentEmbeddable;
|
|
use Doctrine\DBAL\Types\Types;
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
use Symfony\Component\Validator\Constraints as Assert;
|
|
|
|
#[ORM\Entity(repositoryClass: EventThemeRepository::class)]
|
|
#[ORM\Table(name: 'chill_event_budget_element')]
|
|
class EventBudgetElement
|
|
{
|
|
#[ORM\Column(name: 'id', type: Types::INTEGER)]
|
|
#[ORM\Id]
|
|
#[ORM\GeneratedValue(strategy: 'AUTO')]
|
|
private ?int $id = null;
|
|
|
|
#[Assert\GreaterThan(value: 0)]
|
|
#[Assert\NotNull(message: 'The amount cannot be empty')]
|
|
#[ORM\Column(name: 'amount', type: Types::DECIMAL, precision: 10, scale: 2)]
|
|
private string $amount;
|
|
|
|
#[ORM\Embedded(class: CommentEmbeddable::class, columnPrefix: 'comment_budget_element_')]
|
|
private ?CommentEmbeddable $comment = null;
|
|
|
|
#[ORM\ManyToOne(targetEntity: Event::class)]
|
|
private Event $event;
|
|
|
|
#[ORM\ManyToOne(targetEntity: EventBudgetKind::class, inversedBy: 'EventBudgetElement')]
|
|
#[ORM\JoinColumn]
|
|
private EventBudgetKind $kind;
|
|
|
|
/* Getters and Setters */
|
|
|
|
public function getId(): ?int
|
|
{
|
|
return $this->id;
|
|
}
|
|
|
|
public function setId(?int $id): void
|
|
{
|
|
$this->id = $id;
|
|
}
|
|
|
|
public function getAmount(): float
|
|
{
|
|
return (float) $this->amount;
|
|
}
|
|
|
|
public function getComment(): ?CommentEmbeddable
|
|
{
|
|
return $this->comment;
|
|
}
|
|
|
|
public function getEvent(): Event
|
|
{
|
|
return $this->event;
|
|
}
|
|
|
|
public function getKind(): EventBudgetKind
|
|
{
|
|
return $this->kind;
|
|
}
|
|
|
|
public function setAmount(string $amount): self
|
|
{
|
|
$this->amount = $amount;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function setComment(?CommentEmbeddable $comment = null): self
|
|
{
|
|
$this->comment = $comment;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function setEvent(Event $event): self
|
|
{
|
|
$this->event = $event;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function setKind(EventBudgetKind $kind): self
|
|
{
|
|
$this->kind = $kind;
|
|
|
|
return $this;
|
|
}
|
|
}
|