<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* CustomerProfile
*
* @ORM\Table(name="customer_profile")
* @ORM\Entity
*/
class CustomerProfile
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
* @Groups({"agenda-api"})
*/
private $id;
/**
* @var string|null
*
* @ORM\Column(name="last_name", type="string", length=255, nullable=true, options={"default"="NULL"})
* @Groups({"agenda-api"})
*/
private $lastName;
/**
* @var string|null
*
* @ORM\Column(name="first_name", type="string", length=255, nullable=true, options={"default"="NULL"})
* @Groups({"agenda-api"})
*/
private $firstName;
/**
* @var string|null
*
* @ORM\Column(name="family_relationship", type="string", length=255, nullable=true, options={"default"="NULL"})
* @Groups({"agenda-api"})
*/
private $familyRelationship;
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="User", mappedBy="customerProfile")
*/
private $user = array();
/**
* Constructor
*/
public function __construct()
{
$this->user = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
*/
public function setId(int $id): void
{
$this->id = $id;
}
/**
* @return string|null
*/
public function getLastName(): ?string
{
return $this->lastName;
}
/**
* @param string|null $lastName
*/
public function setLastName(?string $lastName): void
{
$this->lastName = $lastName;
}
/**
* @return string|null
*/
public function getFirstName(): ?string
{
return $this->firstName;
}
/**
* @param string|null $firstName
*/
public function setFirstName(?string $firstName): void
{
$this->firstName = $firstName;
}
/**
* @return string|null
*/
public function getFamilyRelationship(): ?string
{
return $this->familyRelationship;
}
/**
* @param string|null $familyRelationship
*/
public function setFamilyRelationship(?string $familyRelationship): void
{
$this->familyRelationship = $familyRelationship;
}
/**
* @return \Doctrine\Common\Collections\Collection
*/
public function getUser()
{
return $this->user;
}
/**
* @param \Doctrine\Common\Collections\Collection $user
*/
public function setUser($user): void
{
$this->user = $user;
}
public function isFirstReservation(Partner $partner, $em): bool
{
$count = $em->getRepository(Reservation::class)->countReservation($partner, null, $this);
if ($count && $count > 0) {
return false;
}
return true;
}
public function isOwnedBy(User $user): bool
{
foreach ($this->getUser() as $userIn)
{
if ($userIn->getId() == $user->getId()) {
return true;
}
}
return false;
}
}