src/Entity/ProjectMember.php line 9

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ProjectMemberRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. #[ORM\Entity(repositoryClassProjectMemberRepository::class)]
  6. class ProjectMember
  7. {
  8.     #[ORM\Id]
  9.     #[ORM\GeneratedValue]
  10.     #[ORM\Column(type'integer')]
  11.     private $id;
  12.     #[ORM\ManyToOne(targetEntityProject::class, inversedBy'projectMembers')]
  13.     #[ORM\JoinColumn(nullablefalse)]
  14.     private $project;
  15.     #[ORM\ManyToOne(targetEntityUser::class, inversedBy'projectMembers')]
  16.     #[ORM\JoinColumn(nullablefalse)]
  17.     private $user;
  18.     #[ORM\Column(type'string'length3)]
  19.     private $currency;
  20.     #[ORM\Column(type'float')]
  21.     private $hourlyRate;
  22.     #[ORM\Column(type'datetime_immutable')]
  23.     private $createdAt;
  24.     public function getId(): ?int
  25.     {
  26.         return $this->id;
  27.     }
  28.     public function getProject(): ?Project
  29.     {
  30.         return $this->project;
  31.     }
  32.     public function setProject(?Project $project): self
  33.     {
  34.         $this->project $project;
  35.         return $this;
  36.     }
  37.     public function getUser(): ?User
  38.     {
  39.         return $this->user;
  40.     }
  41.     public function setUser(?User $user): self
  42.     {
  43.         $this->user $user;
  44.         return $this;
  45.     }
  46.     public function getCurrency(): ?string
  47.     {
  48.         return $this->currency;
  49.     }
  50.     public function setCurrency(string $currency): self
  51.     {
  52.         $this->currency $currency;
  53.         return $this;
  54.     }
  55.     public function getHourlyRate(): ?float
  56.     {
  57.         return $this->hourlyRate;
  58.     }
  59.     public function getHourlyRateUsd($date null): ?float
  60.     {
  61.         global $kernel;
  62.         $dateStr $date $date date('Y-m-d');
  63.         $currencyService $kernel->getContainer()->get('CurrencyService');
  64.         return $currencyService->convertAtDate($dateStr$this->currency'USD'$this->hourlyRate);
  65.     }
  66.     public function setHourlyRate(float $hourlyRate): self
  67.     {
  68.         $this->hourlyRate $hourlyRate;
  69.         return $this;
  70.     }
  71.     public function getCreatedAt(): ?\DateTimeImmutable
  72.     {
  73.         return $this->createdAt;
  74.     }
  75.     public function setCreatedAt(\DateTimeImmutable $createdAt): self
  76.     {
  77.         $this->createdAt $createdAt;
  78.         return $this;
  79.     }
  80. }