src/Entity/CRM/Consultant.php line 27
<?phpnamespace App\Entity\CRM;use App\Entity\CRM\NominalWorkTime;use App\Entity\CRM\Notification;use App\Entity\CRM\Order;use App\Entity\CRM\OrderDivided;use App\Entity\CRM\OrderHistory;use App\Entity\CRM\OrderNote;use App\Entity\CRM\Position;use App\Entity\CRM\Reservations;use App\Entity\CRM\SmsHistory;use App\Entity\CRM\SurveyResponse;use App\Entity\CRM\WorkHistory;use App\Entity\CRM\WorkTime;use App\Entity\CRM\ZoomList;use App\Repository\ConsultantRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;use Symfony\Component\Security\Core\User\UserInterface;#[ORM\Entity(repositoryClass: ConsultantRepository::class)]class Consultant implements UserInterface, PasswordAuthenticatedUserInterface{#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\Column(length: 255)]private string $firstName;#[ORM\Column(length: 255)]private string $lastName;#[ORM\Column(length: 255)]private string $email;#[ORM\Column(length: 255, nullable: true)]private ?string $phone = null;#[ORM\Column(length: 255, nullable: true)]private ?string $photo = null;#[ORM\Column]private ?bool $isActive = null;/*** @var string The hashed password*/#[ORM\Column]private string $password;#[ORM\Column]private array $roles = [];#[ORM\ManyToOne(inversedBy: 'consultants')]#[ORM\JoinColumn(nullable: false)]private ?Department $department = null;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: Order::class)]private Collection $orders;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: Customer::class)]private Collection $customers;#[ORM\ManyToMany(targetEntity: Notification::class, mappedBy: 'consultant')]private Collection $notifications;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: OrderNote::class)]private Collection $orderNotes;#[ORM\OneToMany(mappedBy: 'orderDividedConsultant', targetEntity: Order::class)]private Collection $dividedOrders;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: OrderHistory::class)]private Collection $orderHistories;#[ORM\Column]private ?int $bonusPercentage = null;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: ConsultantReward::class, orphanRemoval: true)]private Collection $consultantRewards;#[ORM\ManyToMany(targetEntity: CommercialOffer::class, mappedBy: 'AvailableForConsultants')]private Collection $commercialOffers;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: WorkHistory::class)]private Collection $workHistories;#[ORM\OneToMany(mappedBy: 'createdByConsultant', targetEntity: CommercialOfferIndividual::class)]private Collection $commercialOfferIndividuals;#[ORM\OneToMany(mappedBy: 'addedByConsultant', targetEntity: CommercialOfferSendings::class)]private Collection $commercialOfferSendings;#[ORM\OneToMany(mappedBy: 'senderConsultant', targetEntity: DirectMessage::class)]private Collection $directMessagesSent;#[ORM\OneToMany(mappedBy: 'receiverConsultant', targetEntity: DirectMessage::class)]private Collection $directMessagesReceived;#[ORM\Column]private ?bool $remoteAccess = null;#[ORM\OneToMany(mappedBy: 'addedByConsultant', targetEntity: Reservations::class)]private Collection $reservations;#[ORM\Column(length: 255, nullable: true)]private ?string $color = null;#[ORM\OneToMany(mappedBy: 'Consultant', targetEntity: DebtNote::class)]private Collection $debtNotes;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: OrderDivided::class, orphanRemoval: true)]private Collection $orderDivideds;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: CustomerHistory::class)]private Collection $customerHistories;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: Awards::class, orphanRemoval: true)]private Collection $awards;#[ORM\ManyToOne(inversedBy: 'consultants')]private ?AwardLeague $awardLeague = null;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: AwardPtSum::class, orphanRemoval: true)]private Collection $awardPtSums;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: AwardsDraw::class, orphanRemoval: true)]private Collection $awardsDraws;#[ORM\Column]private bool $inAwards = true;#[ORM\ManyToMany(targetEntity: Order::class, mappedBy: 'consultantForNotes')]private Collection $ordersToNotes;#[ORM\OneToMany(mappedBy: 'sendByConsultant', targetEntity: SmsHistory::class)]private Collection $smsHistories;#[ORM\OneToOne(mappedBy: 'Consultant', cascade: ['persist', 'remove'])]private ?NominalWorkTime $nominalWorkTime = null;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: WorkTime::class)]private Collection $workTimes;#[ORM\Column]private ?bool $remoteWork = null;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: LeaveRequest::class, orphanRemoval: true)]private Collection $leaveRequests;#[ORM\OneToMany(mappedBy: 'changedByConsultant', targetEntity: EntityChangeLog::class)]private Collection $entityChangeLogs;#[ORM\OneToMany(mappedBy: 'madeBy', targetEntity: SurveyResponse::class)]private Collection $surveyResponses;#[ORM\ManyToOne(inversedBy: 'consultants')]private ?Position $position = null;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: ZoomList::class)]private Collection $zoomLists;#[ORM\ManyToOne(inversedBy: 'consultants')]private ?EmploymentContractType $consultantContractType = null;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: AccountingOfficeSendingNote::class)]private Collection $accountingOfficeSendingNotes;#[ORM\Column]private ?bool $acceptedRegulations = null;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $acceptedRegulationsDate = null;#[ORM\Column]private ?bool $acceptedZfss = null;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $acceptedZfssDate = null;#[ORM\OneToMany(mappedBy: 'consultant', targetEntity: LeaveRequestBalance::class)]private Collection $leaveRequestBalances;public function __construct(){$this->orders = new ArrayCollection();$this->customers = new ArrayCollection();$this->notifications = new ArrayCollection();$this->orderNotes = new ArrayCollection();$this->dividedOrders = new ArrayCollection();$this->orderHistories = new ArrayCollection();$this->consultantRewards = new ArrayCollection();$this->commercialOffers = new ArrayCollection();$this->workHistories = new ArrayCollection();$this->commercialOfferIndividuals = new ArrayCollection();$this->commercialOfferSendings = new ArrayCollection();$this->directMessagesSent = new ArrayCollection();$this->directMessagesReceived = new ArrayCollection();$this->reservations = new ArrayCollection();$this->debtNotes = new ArrayCollection();$this->customerHistories = new ArrayCollection();$this->awards = new ArrayCollection();$this->awardPtSums = new ArrayCollection();$this->awardsDraws = new ArrayCollection();$this->inAwards = true;$this->ordersToNotes = new ArrayCollection();$this->smsHistories = new ArrayCollection();$this->workTimes = new ArrayCollection();$this->leaveRequests = new ArrayCollection();$this->entityChangeLogs = new ArrayCollection();$this->surveyResponses = new ArrayCollection();$this->position = null;$this->zoomLists = new ArrayCollection();$this->accountingOfficeSendingNotes = new ArrayCollection();$this->acceptedZfss = false;$this->acceptedZfssDate = null;$this->leaveRequestBalances = new ArrayCollection();}public function __toString(){return $this->firstName.' '.$this->lastName;}public function getId(): ?int{return $this->id;}public function getFullName(): ?string{return $this->lastName.' '.$this->firstName;}public function getFirstName(): ?string{return $this->firstName;}public function setFirstName(string $firstName): self{$this->firstName = $firstName;return $this;}public function getLastName(): ?string{return $this->lastName;}public function setLastName(string $lastName): self{$this->lastName = $lastName;return $this;}public function getEmail(): ?string{return $this->email;}public function setEmail(?string $email): self{$this->email = $email;return $this;}public function getPhone(): ?string{return $this->phone;}public function setPhone(?string $phone): self{$this->phone = $phone;return $this;}public function getPhoto(): ?string{return $this->photo;}public function setPhoto(?string $photo): self{$this->photo = $photo;return $this;}public function isActive(): ?bool{return $this->isActive;}public function setIsActive(bool $isActive): self{$this->isActive = $isActive;return $this;}/*** A visual identifier that represents this user.** @see UserInterface*/public function getUserIdentifier(): string{return (string) $this->email;}/*** @see UserInterface*/public function getRoles(): array{$roles = $this->roles;// guarantee every user at least has ROLE_USER$roles[] = 'ROLE_CONSULTANT';return array_unique($roles);}/*** @see UserInterface*/public function eraseCredentials(){// If you store any temporary, sensitive data on the user, clear it here// $this->plainPassword = null;}public function setRoles(array $roles): self{$this->roles = $roles;return $this;}public function getPassword(): ?string{return $this->password;}public function setPassword(string $password): self{$this->password = $password;return $this;}public function getDepartment(): ?department{return $this->department;}public function setDepartment(?department $department): self{$this->department = $department;return $this;}/*** @return Collection<int, Order>*/public function getOrders(): Collection{return $this->orders;}public function addOrder(Order $order): self{if (!$this->orders->contains($order)) {$this->orders->add($order);$order->setConsultant($this);}return $this;}public function removeOrder(Order $order): self{if ($this->orders->removeElement($order)) {// set the owning side to null (unless already changed)if ($order->getConsultant() === $this) {$order->setConsultant(null);}}return $this;}/*** @return Collection<int, Customer>*/public function getCustomers(): Collection{return $this->customers;}public function addCustomer(Customer $customer): static{if (!$this->customers->contains($customer)) {$this->customers->add($customer);$customer->setConsultant($this);}return $this;}public function removeCustomer(Customer $customer): static{if ($this->customers->removeElement($customer)) {// set the owning side to null (unless already changed)if ($customer->getConsultant() === $this) {$customer->setConsultant(null);}}return $this;}/*** @return Collection<int, Notification>*/public function getNotifications(): Collection{return $this->notifications;}public function addNotification(Notification $notification): static{if (!$this->notifications->contains($notification)) {$this->notifications->add($notification);$notification->addConsultant($this);}return $this;}public function removeNotification(Notification $notification): static{if ($this->notifications->removeElement($notification)) {$notification->removeConsultant($this);}return $this;}/*** @return Collection<int, OrderNote>*/public function getOrderNotes(): Collection{return $this->orderNotes;}public function addOrderNote(OrderNote $orderNote): static{if (!$this->orderNotes->contains($orderNote)) {$this->orderNotes->add($orderNote);$orderNote->setConsultant($this);}return $this;}public function removeOrderNote(OrderNote $orderNote): static{if ($this->orderNotes->removeElement($orderNote)) {// set the owning side to null (unless already changed)if ($orderNote->getConsultant() === $this) {$orderNote->setConsultant(null);}}return $this;}/*** @return Collection<int, Order>*/public function getDividedOrders(): Collection{return $this->dividedOrders;}public function addDividedOrder(Order $dividedOrder): static{if (!$this->dividedOrders->contains($dividedOrder)) {$this->dividedOrders->add($dividedOrder);$dividedOrder->setOrderDividedConsultant($this);}return $this;}public function removeDividedOrder(Order $dividedOrder): static{if ($this->dividedOrders->removeElement($dividedOrder)) {// set the owning side to null (unless already changed)if ($dividedOrder->getOrderDividedConsultant() === $this) {$dividedOrder->setOrderDividedConsultant(null);}}return $this;}/*** @return Collection<int, OrderHistory>*/public function getOrderHistories(): Collection{return $this->orderHistories;}public function addOrderHistory(OrderHistory $orderHistory): static{if (!$this->orderHistories->contains($orderHistory)) {$this->orderHistories->add($orderHistory);$orderHistory->setConsultant($this);}return $this;}public function removeOrderHistory(OrderHistory $orderHistory): static{if ($this->orderHistories->removeElement($orderHistory)) {// set the owning side to null (unless already changed)if ($orderHistory->getConsultant() === $this) {$orderHistory->setConsultant(null);}}return $this;}public function getBonusPercentage(): ?int{return $this->bonusPercentage;}public function setBonusPercentage(int $bonusPercentage): static{$this->bonusPercentage = $bonusPercentage;return $this;}/*** @return Collection<int, ConsultantReward>*/public function getConsultantRewards(): Collection{return $this->consultantRewards;}public function addConsultantReward(ConsultantReward $consultantReward): static{if (!$this->consultantRewards->contains($consultantReward)) {$this->consultantRewards->add($consultantReward);$consultantReward->setConsultant($this);}return $this;}public function removeConsultantReward(ConsultantReward $consultantReward): static{if ($this->consultantRewards->removeElement($consultantReward)) {// set the owning side to null (unless already changed)if ($consultantReward->getConsultant() === $this) {$consultantReward->setConsultant(null);}}return $this;}/*** @return Collection<int, CommercialOffer>*/public function getCommercialOffers(): Collection{return $this->commercialOffers;}public function addCommercialOffer(CommercialOffer $commercialOffer): static{if (!$this->commercialOffers->contains($commercialOffer)) {$this->commercialOffers->add($commercialOffer);$commercialOffer->addAvailableForConsultant($this);}return $this;}public function removeCommercialOffer(CommercialOffer $commercialOffer): static{if ($this->commercialOffers->removeElement($commercialOffer)) {$commercialOffer->removeAvailableForConsultant($this);}return $this;}/*** @return Collection<int, WorkHistory>*/public function getWorkHistories(): Collection{return $this->workHistories;}public function addWorkHistory(WorkHistory $workHistory): static{if (!$this->workHistories->contains($workHistory)) {$this->workHistories->add($workHistory);$workHistory->setConsultant($this);}return $this;}public function removeWorkHistory(WorkHistory $workHistory): static{if ($this->workHistories->removeElement($workHistory)) {// set the owning side to null (unless already changed)if ($workHistory->getConsultant() === $this) {$workHistory->setConsultant(null);}}return $this;}/*** @return Collection<int, CommercialOfferIndividual>*/public function getIndividualCommercialOffers(): Collection{return $this->commercialOfferIndividuals;}public function addIndividualCommercialOffer(CommercialOfferIndividual $commercialOfferIndividual): static{if (!$this->commercialOfferIndividuals->contains($commercialOfferIndividual)) {$this->commercialOfferIndividuals->add($commercialOfferIndividual);$commercialOfferIndividual->setCreatedByConsultant($this);}return $this;}public function removeIndividualCommercialOffer(CommercialOfferIndividual $commercialOfferIndividual): static{if ($this->commercialOfferIndividuals->removeElement($commercialOfferIndividual)) {// set the owning side to null (unless already changed)if ($commercialOfferIndividual->getCreatedByConsultant() === $this) {$commercialOfferIndividual->setCreatedByConsultant(null);}}return $this;}/*** @return Collection<int, CommercialOfferSendings>*/public function getCommercialOfferSendings(): Collection{return $this->commercialOfferSendings;}public function addCommercialOfferSending(CommercialOfferSendings $commercialOfferSending): static{if (!$this->commercialOfferSendings->contains($commercialOfferSending)) {$this->commercialOfferSendings->add($commercialOfferSending);$commercialOfferSending->setAddedByConsultant($this);}return $this;}public function removeCommercialOfferSending(CommercialOfferSendings $commercialOfferSending): static{if ($this->commercialOfferSendings->removeElement($commercialOfferSending)) {// set the owning side to null (unless already changed)if ($commercialOfferSending->getAddedByConsultant() === $this) {$commercialOfferSending->setAddedByConsultant(null);}}return $this;}/*** @return Collection<int, DirectMessage>*/public function getDirectMessagesSent(): Collection{return $this->directMessagesSent;}public function addDirectMessagesSent(DirectMessage $directMessagesSent): static{if (!$this->directMessagesSent->contains($directMessagesSent)) {$this->directMessagesSent->add($directMessagesSent);$directMessagesSent->setSenderConsultant($this);}return $this;}public function removeDirectMessagesSent(DirectMessage $directMessagesSent): static{if ($this->directMessagesSent->removeElement($directMessagesSent)) {// set the owning side to null (unless already changed)if ($directMessagesSent->getSenderConsultant() === $this) {$directMessagesSent->setSenderConsultant(null);}}return $this;}/*** @return Collection<int, DirectMessage>*/public function getDirectMessagesReceived(): Collection{return $this->directMessagesReceived;}public function addDirectMessagesReceived(DirectMessage $directMessagesReceived): static{if (!$this->directMessagesReceived->contains($directMessagesReceived)) {$this->directMessagesReceived->add($directMessagesReceived);$directMessagesReceived->setReceiverConsultant($this);}return $this;}public function removeDirectMessagesReceived(DirectMessage $directMessagesReceived): static{if ($this->directMessagesReceived->removeElement($directMessagesReceived)) {// set the owning side to null (unless already changed)if ($directMessagesReceived->getReceiverConsultant() === $this) {$directMessagesReceived->setReceiverConsultant(null);}}return $this;}public function isRemoteAccess(): ?bool{return $this->remoteAccess;}public function setRemoteAccess(bool $remoteAccess): static{$this->remoteAccess = $remoteAccess;return $this;}/*** @return Collection<int, Reservations>*/public function getReservations(): Collection{return $this->reservations;}public function addReservation(Reservations $reservation): static{if (!$this->reservations->contains($reservation)) {$this->reservations->add($reservation);$reservation->setAddedByConsultant($this);}return $this;}public function removeReservation(Reservations $reservation): static{if ($this->reservations->removeElement($reservation)) {// set the owning side to null (unless already changed)if ($reservation->getAddedByConsultant() === $this) {$reservation->setAddedByConsultant(null);}}return $this;}public function getColor(): ?string{return $this->color;}public function setColor(?string $color): static{$this->color = $color;return $this;}/*** @return Collection<int, DebtNote>*/public function getDebtNotes(): Collection{return $this->debtNotes;}public function addDebtNote(DebtNote $debtNote): static{if (!$this->debtNotes->contains($debtNote)) {$this->debtNotes->add($debtNote);$debtNote->setConsultant($this);}return $this;}public function removeDebtNote(DebtNote $debtNote): static{if ($this->debtNotes->removeElement($debtNote)) {// set the owning side to null (unless already changed)if ($debtNote->getConsultant() === $this) {$debtNote->setConsultant(null);}}return $this;}public function getOrderDivideds(): Collection{return $this->orderDivideds;}public function setOrderDivideds(Collection $orderDivideds): void{$this->orderDivideds = $orderDivideds;}public function removeOrderDivided(OrderDivided $orderDivided): static{if ($this->orderDivideds->removeElement($orderDivided)) {// set the owning side to null (unless already changed)if ($orderDivided->getConsultant() === $this) {$orderDivided->setConsultant(null);}}return $this;}/*** @return Collection<int, CustomerHistory>*/public function getCustomerHistories(): Collection{return $this->customerHistories;}public function addCustomerHistory(CustomerHistory $customerHistory): static{if (!$this->customerHistories->contains($customerHistory)) {$this->customerHistories->add($customerHistory);$customerHistory->setConsultant($this);}return $this;}public function removeCustomerHistory(CustomerHistory $customerHistory): static{if ($this->customerHistories->removeElement($customerHistory)) {// set the owning side to null (unless already changed)if ($customerHistory->getConsultant() === $this) {$customerHistory->setConsultant(null);}}return $this;}/*** @return Collection<int, Awards>*/public function getAwards(): Collection{return $this->awards;}public function addAward(Awards $award): static{if (!$this->awards->contains($award)) {$this->awards->add($award);$award->setConsultant($this);}return $this;}public function removeAward(Awards $award): static{if ($this->awards->removeElement($award)) {// set the owning side to null (unless already changed)if ($award->getConsultant() === $this) {$award->setConsultant(null);}}return $this;}public function getAwardLeague(): ?AwardLeague{return $this->awardLeague;}public function setAwardLeague(?AwardLeague $awardLeague): static{$this->awardLeague = $awardLeague;return $this;}/*** @return Collection<int, AwardPtSum>*/public function getAwardPtSums(): Collection{return $this->awardPtSums;}public function addAwardPtSum(AwardPtSum $awardPtSum): static{if (!$this->awardPtSums->contains($awardPtSum)) {$this->awardPtSums->add($awardPtSum);$awardPtSum->setConsultant($this);}return $this;}public function removeAwardPtSum(AwardPtSum $awardPtSum): static{if ($this->awardPtSums->removeElement($awardPtSum)) {// set the owning side to null (unless already changed)if ($awardPtSum->getConsultant() === $this) {$awardPtSum->setConsultant(null);}}return $this;}/*** @return Collection<int, AwardsDraw>*/public function getAwardsDraws(): Collection{return $this->awardsDraws;}public function addAwardsDraw(AwardsDraw $awardsDraw): static{if (!$this->awardsDraws->contains($awardsDraw)) {$this->awardsDraws->add($awardsDraw);$awardsDraw->setConsultant($this);}return $this;}public function removeAwardsDraw(AwardsDraw $awardsDraw): static{if ($this->awardsDraws->removeElement($awardsDraw)) {// set the owning side to null (unless already changed)if ($awardsDraw->getConsultant() === $this) {$awardsDraw->setConsultant(null);}}return $this;}public function isInAwards(): bool{return $this->inAwards;}public function setInAwards(bool $inAwards): static{$this->inAwards = $inAwards;return $this;}/*** @return Collection<int, Order>*/public function getOrdersToNotes(): Collection{return $this->ordersToNotes;}public function addOrdersToNote(Order $ordersToNote): static{if (!$this->ordersToNotes->contains($ordersToNote)) {$this->ordersToNotes->add($ordersToNote);$ordersToNote->addConsultantForNote($this);}return $this;}public function removeOrdersToNote(Order $ordersToNote): static{if ($this->ordersToNotes->removeElement($ordersToNote)) {$ordersToNote->removeConsultantForNote($this);}return $this;}/*** @return Collection<int, SmsHistory>*/public function getSmsHistories(): Collection{return $this->smsHistories;}public function addSmsHistory(SmsHistory $smsHistory): static{if (!$this->smsHistories->contains($smsHistory)) {$this->smsHistories->add($smsHistory);$smsHistory->setSendByConsultant($this);}return $this;}public function removeSmsHistory(SmsHistory $smsHistory): static{if ($this->smsHistories->removeElement($smsHistory)) {// set the owning side to null (unless already changed)if ($smsHistory->getSendByConsultant() === $this) {$smsHistory->setSendByConsultant(null);}}return $this;}public function getNominalWorkTime(): ?NominalWorkTime{return $this->nominalWorkTime;}public function setNominalWorkTime(?NominalWorkTime $nominalWorkTime): static{// unset the owning side of the relation if necessaryif ($nominalWorkTime === null && $this->nominalWorkTime !== null) {$this->nominalWorkTime->setConsultant(null);}// set the owning side of the relation if necessaryif ($nominalWorkTime !== null && $nominalWorkTime->getConsultant() !== $this) {$nominalWorkTime->setConsultant($this);}$this->nominalWorkTime = $nominalWorkTime;return $this;}/*** @return Collection<int, WorkTime>*/public function getWorkTimes(): Collection{return $this->workTimes;}public function addWorkTime(WorkTime $workTime): static{if (!$this->workTimes->contains($workTime)) {$this->workTimes->add($workTime);$workTime->setConsultant($this);}return $this;}public function removeWorkTime(WorkTime $workTime): static{if ($this->workTimes->removeElement($workTime)) {// set the owning side to null (unless already changed)if ($workTime->getConsultant() === $this) {$workTime->setConsultant(null);}}return $this;}public function isRemoteWork(): ?bool{return $this->remoteWork;}public function setRemoteWork(bool $remoteWork): static{$this->remoteWork = $remoteWork;return $this;}/*** @return Collection<int, LeaveRequest>*/public function getLeaveRequests(): Collection{return $this->leaveRequests;}public function addLeaveRequest(LeaveRequest $leaveRequest): static{if (!$this->leaveRequests->contains($leaveRequest)) {$this->leaveRequests->add($leaveRequest);$leaveRequest->setConsultant($this);}return $this;}public function removeLeaveRequest(LeaveRequest $leaveRequest): static{if ($this->leaveRequests->removeElement($leaveRequest)) {// set the owning side to null (unless already changed)if ($leaveRequest->getConsultant() === $this) {$leaveRequest->setConsultant(null);}}return $this;}/*** @return Collection<int, EntityChangeLog>*/public function getEntityChangeLogs(): Collection{return $this->entityChangeLogs;}public function addEntityChangeLog(EntityChangeLog $entityChangeLog): static{if (!$this->entityChangeLogs->contains($entityChangeLog)) {$this->entityChangeLogs->add($entityChangeLog);$entityChangeLog->setChangedByConsultant($this);}return $this;}public function removeEntityChangeLog(EntityChangeLog $entityChangeLog): static{if ($this->entityChangeLogs->removeElement($entityChangeLog)) {// set the owning side to null (unless already changed)if ($entityChangeLog->getChangedByConsultant() === $this) {$entityChangeLog->setChangedByConsultant(null);}}return $this;}/*** @return Collection<int, SurveyResponse>*/public function getSurveyResponses(): Collection{return $this->surveyResponses;}public function addSurveyResponse(SurveyResponse $surveyResponse): static{if (!$this->surveyResponses->contains($surveyResponse)) {$this->surveyResponses->add($surveyResponse);$surveyResponse->setMadeBy($this);}return $this;}public function removeSurveyResponse(SurveyResponse $surveyResponse): static{if ($this->surveyResponses->removeElement($surveyResponse)) {// set the owning side to null (unless already changed)if ($surveyResponse->getMadeBy() === $this) {$surveyResponse->setMadeBy(null);}}return $this;}public function getPosition(): ?Position{return $this->position;}public function setPosition(?Position $position): static{$this->position = $position;return $this;}/*** @return Collection<int, ZoomList>*/public function getZoomLists(): Collection{return $this->zoomLists;}public function addZoomList(ZoomList $zoomList): static{if (!$this->zoomLists->contains($zoomList)) {$this->zoomLists->add($zoomList);$zoomList->setConsultant($this);}return $this;}public function removeZoomList(ZoomList $zoomList): static{if ($this->zoomLists->removeElement($zoomList)) {// set the owning side to null (unless already changed)if ($zoomList->getConsultant() === $this) {$zoomList->setConsultant(null);}}return $this;}public function getConsultantContractType(): ?EmploymentContractType{return $this->consultantContractType;}public function setConsultantContractType(?EmploymentContractType $consultantContractType): static{$this->consultantContractType = $consultantContractType;return $this;}/*** @return Collection<int, AccountingOfficeSendingNote>*/public function getAccountingOfficeSendingNotes(): Collection{return $this->accountingOfficeSendingNotes;}public function addAccountingOfficeSendingNote(AccountingOfficeSendingNote $accountingOfficeSendingNote): static{if (!$this->accountingOfficeSendingNotes->contains($accountingOfficeSendingNote)) {$this->accountingOfficeSendingNotes->add($accountingOfficeSendingNote);$accountingOfficeSendingNote->setConsultant($this);}return $this;}public function removeAccountingOfficeSendingNote(AccountingOfficeSendingNote $accountingOfficeSendingNote): static{if ($this->accountingOfficeSendingNotes->removeElement($accountingOfficeSendingNote)) {// set the owning side to null (unless already changed)if ($accountingOfficeSendingNote->getConsultant() === $this) {$accountingOfficeSendingNote->setConsultant(null);}}return $this;}public function isAcceptedRegulations(): ?bool{return $this->acceptedRegulations;}public function setAcceptedRegulations(bool $acceptedRegulations): static{$this->acceptedRegulations = $acceptedRegulations;return $this;}public function getAcceptedRegulationsDate(): ?\DateTimeInterface{return $this->acceptedRegulationsDate;}public function setAcceptedRegulationsDate(?\DateTimeInterface $acceptedRegulationsDate): static{$this->acceptedRegulationsDate = $acceptedRegulationsDate;return $this;}public function isAcceptedZfss(): ?bool{return $this->acceptedZfss;}public function setAcceptedZfss(bool $acceptedZfss): static{$this->acceptedZfss = $acceptedZfss;return $this;}public function getAcceptedZfssDate(): ?\DateTimeInterface{return $this->acceptedZfssDate;}public function setAcceptedZfssDate(\DateTimeInterface $acceptedZfssDate): static{$this->acceptedZfssDate = $acceptedZfssDate;return $this;}/*** @return Collection<int, LeaveRequestBalance>*/public function getLeaveRequestBalances(): Collection{return $this->leaveRequestBalances;}public function addLeaveRequestBalance(LeaveRequestBalance $leaveRequestBalance): static{if (!$this->leaveRequestBalances->contains($leaveRequestBalance)) {$this->leaveRequestBalances->add($leaveRequestBalance);$leaveRequestBalance->setConsultant($this);}return $this;}public function removeLeaveRequestBalance(LeaveRequestBalance $leaveRequestBalance): static{if ($this->leaveRequestBalances->removeElement($leaveRequestBalance)) {// set the owning side to null (unless already changed)if ($leaveRequestBalance->getConsultant() === $this) {$leaveRequestBalance->setConsultant(null);}}return $this;}}