src/Entity/Clinics.php line 11

  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ClinicsRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. #[ORM\Entity(repositoryClass: ClinicsRepository::class)]
  8. class Clinics
  9. {
  10. #[ORM\Id]
  11. #[ORM\GeneratedValue]
  12. #[ORM\Column(type: 'integer')]
  13. private $id;
  14. #[ORM\Column(type: 'string', length: 255)]
  15. private $clinicName;
  16. #[ORM\Column(type: 'string', length: 255)]
  17. private $telephone;
  18. #[ORM\Column(type: 'string', length: 255)]
  19. private $email;
  20. #[ORM\Column(type: 'datetime')]
  21. private $modified;
  22. #[ORM\Column(type: 'datetime')]
  23. private $created;
  24. #[ORM\OneToMany(targetEntity: Addresses::class, mappedBy: 'clinic')]
  25. private $addresses;
  26. #[ORM\OneToMany(targetEntity: Baskets::class, mappedBy: 'clinic')]
  27. private $baskets;
  28. #[ORM\OneToMany(targetEntity: ClinicCommunicationMethods::class, mappedBy: 'clinic')]
  29. private $clinicCommunicationMethods;
  30. #[ORM\OneToMany(targetEntity: ClinicUsers::class, mappedBy: 'clinic', cascade: ['persist'])]
  31. private $clinicUsers;
  32. #[ORM\OneToMany(targetEntity: DistributorClinicPrices::class, mappedBy: 'clinic')]
  33. private $distributorClinicPrices;
  34. #[ORM\OneToMany(targetEntity: Orders::class, mappedBy: 'clinic')]
  35. private $orders;
  36. #[ORM\OneToMany(targetEntity: EventLog::class, mappedBy: 'clinic')]
  37. private $eventLogs;
  38. #[ORM\OneToMany(targetEntity: Lists::class, mappedBy: 'clinic')]
  39. private $lists;
  40. #[ORM\OneToMany(targetEntity: ProductNotes::class, mappedBy: 'clinic')]
  41. private $productNotes;
  42. #[ORM\OneToMany(targetEntity: AvailabilityTracker::class, mappedBy: 'clinic')]
  43. private $availabilityTrackers;
  44. #[ORM\OneToMany(targetEntity: ClinicProducts::class, mappedBy: 'clinic')]
  45. private $clinicProducts;
  46. #[ORM\OneToMany(targetEntity: ProductReviewComments::class, mappedBy: 'clinic')]
  47. private $productReviewComments;
  48. #[ORM\OneToMany(targetEntity: Notifications::class, mappedBy: 'clinic')]
  49. private $notifications;
  50. #[ORM\OneToMany(targetEntity: ProductFavourites::class, mappedBy: 'clinic')]
  51. private $productFavourites;
  52. #[ORM\OneToMany(targetEntity: ChatParticipants::class, mappedBy: 'clinic')]
  53. private $chatParticipants;
  54. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  55. private $isoCode;
  56. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  57. private $intlCode;
  58. #[ORM\OneToMany(targetEntity: ClinicUserPermissions::class, mappedBy: 'clinic')]
  59. private $clinicUserPermissions;
  60. #[ORM\OneToMany(targetEntity: DistributorClinics::class, mappedBy: 'clinic')]
  61. private $distributorClinics;
  62. #[ORM\ManyToOne(targetEntity: Countries::class, inversedBy: 'clinics')]
  63. private $country;
  64. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  65. private $hashedEmail;
  66. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  67. private $domainName;
  68. #[ORM\Column(type: 'integer', nullable: true)]
  69. private $isApproved;
  70. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  71. private $managerFirstName;
  72. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  73. private $managerLastName;
  74. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  75. private $tradeLicense;
  76. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  77. private $tradeLicenseNo;
  78. #[ORM\Column(type: 'date', nullable: true)]
  79. private $tradeLicenseExpDate;
  80. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  81. private $managerIdNo;
  82. #[ORM\Column(type: 'date', nullable: true)]
  83. private $managerIdExpDate;
  84. #[ORM\OneToMany(targetEntity: RetailUsers::class, mappedBy: 'clinic')]
  85. private $retailUsers;
  86. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  87. private $logo;
  88. #[ORM\OneToMany(targetEntity: ClinicRetailUsers::class, mappedBy: 'clinic')]
  89. private $clinicRetailUsers;
  90. #[ORM\OneToMany(targetEntity: ProductRetail::class, mappedBy: 'clinic')]
  91. private $productRetails;
  92. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  93. private $PoNumberPrefix;
  94. #[ORM\Column(type: 'text', nullable: true)]
  95. private $about;
  96. #[ORM\Column(type: 'text', nullable: true)]
  97. private $operatingHours;
  98. #[ORM\Column(type: 'text', nullable: true)]
  99. private $refundPolicy;
  100. #[ORM\Column(type: 'text', nullable: true)]
  101. private $salesTaxPolicy;
  102. #[ORM\Column(type: 'text', nullable: true)]
  103. private $shippingPolicy;
  104. /**
  105. * @var Collection<int, CustomPriceLists>
  106. */
  107. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: CustomPriceLists::class)]
  108. private Collection $customPriceLists;
  109. /**
  110. * @var Collection<int, ClinicDistributorContacts>
  111. */
  112. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: ClinicDistributorContacts::class)]
  113. private Collection $clinicDistributorContacts;
  114. /**
  115. * @var Collection<int, SearchLog>
  116. */
  117. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: SearchLog::class)]
  118. private Collection $searchLogs;
  119. /**
  120. * @var Collection<int, AiProductFavourites>
  121. */
  122. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiProductFavourites::class)]
  123. private Collection $aiProductFavourites;
  124. /**
  125. * @var Collection<int, AiProductNotes>
  126. */
  127. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiProductNotes::class)]
  128. private Collection $aiProductNotes;
  129. /**
  130. * @var Collection<int, AiProductReviewComments>
  131. */
  132. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiProductReviewComments::class)]
  133. private Collection $aiProductReviewComments;
  134. /**
  135. * @var Collection<int, AiLists>
  136. */
  137. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiLists::class)]
  138. private Collection $aiLists;
  139. /**
  140. * @var Collection<int, AiProductRetail>
  141. */
  142. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiProductRetail::class)]
  143. private Collection $aiProductRetails;
  144. /**
  145. * @var Collection<int, AiAddresses>
  146. */
  147. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiAddresses::class)]
  148. private Collection $aiAddresses;
  149. /**
  150. * @var Collection<int, AiBaskets>
  151. */
  152. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiBaskets::class)]
  153. private Collection $aiBaskets;
  154. /**
  155. * @var Collection<int, AiOrders>
  156. */
  157. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiOrders::class)]
  158. private Collection $aiOrders;
  159. /**
  160. * @var Collection<int, AiClinicProducts>
  161. */
  162. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiClinicProducts::class)]
  163. private Collection $aiClinicProducts;
  164. /**
  165. * @var Collection<int, AiCustomPriceLists>
  166. */
  167. #[ORM\OneToMany(mappedBy: 'clinic', targetEntity: AiCustomPriceLists::class)]
  168. private Collection $aiCustomPriceLists;
  169. public function __construct()
  170. {
  171. $date = new \DateTime("now", new \DateTimeZone('Asia/Dubai'));
  172. $this->setModified($date);
  173. if ($this->getCreated() == null)
  174. {
  175. $this->setCreated($date);
  176. }
  177. $this->addresses = new ArrayCollection();
  178. $this->baskets = new ArrayCollection();
  179. $this->distributors = new ArrayCollection();
  180. $this->clinicCommunicationMethods = new ArrayCollection();
  181. $this->clinicUsers = new ArrayCollection();
  182. $this->distributorClinicPrices = new ArrayCollection();
  183. $this->orders = new ArrayCollection();
  184. $this->eventLogs = new ArrayCollection();
  185. $this->lists = new ArrayCollection();
  186. $this->productNotes = new ArrayCollection();
  187. $this->availabilityTrackers = new ArrayCollection();
  188. $this->clinicProducts = new ArrayCollection();
  189. $this->productReviewComments = new ArrayCollection();
  190. $this->notifications = new ArrayCollection();
  191. $this->productFavourites = new ArrayCollection();
  192. $this->chatParticipants = new ArrayCollection();
  193. $this->clinicUserPermissions = new ArrayCollection();
  194. $this->distributorClinics = new ArrayCollection();
  195. $this->retailUsers = new ArrayCollection();
  196. $this->clinicRetailUsers = new ArrayCollection();
  197. $this->productRetails = new ArrayCollection();
  198. $this->customPriceLists = new ArrayCollection();
  199. $this->clinicDistributorContacts = new ArrayCollection();
  200. $this->searchLogs = new ArrayCollection();
  201. $this->aiProductFavourites = new ArrayCollection();
  202. $this->aiProductNotes = new ArrayCollection();
  203. $this->aiProductReviewComments = new ArrayCollection();
  204. $this->aiLists = new ArrayCollection();
  205. $this->aiProductRetails = new ArrayCollection();
  206. $this->aiAddresses = new ArrayCollection();
  207. $this->aiBaskets = new ArrayCollection();
  208. $this->aiOrders = new ArrayCollection();
  209. $this->aiClinicProducts = new ArrayCollection();
  210. $this->aiCustomPriceLists = new ArrayCollection();
  211. }
  212. public function getId(): ?int
  213. {
  214. return $this->id;
  215. }
  216. public function getClinicName(): ?string
  217. {
  218. return $this->clinicName;
  219. }
  220. public function setClinicName(string $clinicName): self
  221. {
  222. $this->clinicName = $clinicName;
  223. return $this;
  224. }
  225. public function getTelephone(): ?string
  226. {
  227. return $this->telephone;
  228. }
  229. public function setTelephone(string $telephone): self
  230. {
  231. $this->telephone = $telephone;
  232. return $this;
  233. }
  234. public function getModified(): ?\DateTimeInterface
  235. {
  236. return $this->modified;
  237. }
  238. public function setModified(\DateTimeInterface $modified): self
  239. {
  240. $this->modified = $modified;
  241. return $this;
  242. }
  243. public function getCreated(): ?\DateTimeInterface
  244. {
  245. return $this->created;
  246. }
  247. public function setCreated(\DateTimeInterface $created): self
  248. {
  249. $this->created = $created;
  250. return $this;
  251. }
  252. /**
  253. * @return Collection|Addresses[]
  254. */
  255. public function getAddresses(): Collection
  256. {
  257. return $this->addresses;
  258. }
  259. public function addAddress(Addresses $address): self
  260. {
  261. if (!$this->addresses->contains($address)) {
  262. $this->addresses[] = $address;
  263. $address->setClinic($this);
  264. }
  265. return $this;
  266. }
  267. public function removeAddress(Addresses $address): self
  268. {
  269. if ($this->addresses->removeElement($address)) {
  270. // set the owning side to null (unless already changed)
  271. if ($address->getClinic() === $this) {
  272. $address->setClinic(null);
  273. }
  274. }
  275. return $this;
  276. }
  277. /**
  278. * @return Collection|Baskets[]
  279. */
  280. public function getBaskets(): Collection
  281. {
  282. return $this->baskets;
  283. }
  284. public function addBasket(Baskets $basket): self
  285. {
  286. if (!$this->baskets->contains($basket)) {
  287. $this->baskets[] = $basket;
  288. $basket->setClinic($this);
  289. }
  290. return $this;
  291. }
  292. public function removeBasket(Baskets $basket): self
  293. {
  294. if ($this->baskets->removeElement($basket)) {
  295. // set the owning side to null (unless already changed)
  296. if ($basket->getClinic() === $this) {
  297. $basket->setClinic(null);
  298. }
  299. }
  300. return $this;
  301. }
  302. /**
  303. * @return Collection|ClinicCommunicationMethods[]
  304. */
  305. public function getClinicCommunicationMethods(): Collection
  306. {
  307. return $this->clinicCommunicationMethods;
  308. }
  309. public function addClinicCommunicationMethod(ClinicCommunicationMethods $clinicCommunicationMethod): self
  310. {
  311. if (!$this->clinicCommunicationMethods->contains($clinicCommunicationMethod)) {
  312. $this->clinicCommunicationMethods[] = $clinicCommunicationMethod;
  313. $clinicCommunicationMethod->setClinic($this);
  314. }
  315. return $this;
  316. }
  317. public function removeClinicCommunicationMethod(ClinicCommunicationMethods $clinicCommunicationMethod): self
  318. {
  319. if ($this->clinicCommunicationMethods->removeElement($clinicCommunicationMethod)) {
  320. // set the owning side to null (unless already changed)
  321. if ($clinicCommunicationMethod->getClinic() === $this) {
  322. $clinicCommunicationMethod->setClinic(null);
  323. }
  324. }
  325. return $this;
  326. }
  327. /**
  328. * @return Collection|ClinicUsers[]
  329. */
  330. public function getClinicUsers(): Collection
  331. {
  332. return $this->clinicUsers;
  333. }
  334. public function addClinicUser(ClinicUsers $clinicUser): self
  335. {
  336. if (!$this->clinicUsers->contains($clinicUser)) {
  337. $this->clinicUsers[] = $clinicUser;
  338. $clinicUser->setClinic($this);
  339. }
  340. return $this;
  341. }
  342. public function removeClinicUser(ClinicUsers $clinicUser): self
  343. {
  344. if ($this->clinicUsers->removeElement($clinicUser)) {
  345. // set the owning side to null (unless already changed)
  346. if ($clinicUser->getClinic() === $this) {
  347. $clinicUser->setClinic(null);
  348. }
  349. }
  350. return $this;
  351. }
  352. /**
  353. * @return Collection|DistributorClinicPrices[]
  354. */
  355. public function getDistributorClinicPrices(): Collection
  356. {
  357. return $this->distributorClinicPrices;
  358. }
  359. public function addDistributorClinicPrice(DistributorClinicPrices $distributorClinicPrice): self
  360. {
  361. if (!$this->distributorClinicPrices->contains($distributorClinicPrice)) {
  362. $this->distributorClinicPrices[] = $distributorClinicPrice;
  363. $distributorClinicPrice->setClinic($this);
  364. }
  365. return $this;
  366. }
  367. public function removeDistributorClinicPrice(DistributorClinicPrices $distributorClinicPrice): self
  368. {
  369. if ($this->distributorClinicPrices->removeElement($distributorClinicPrice)) {
  370. // set the owning side to null (unless already changed)
  371. if ($distributorClinicPrice->getClinic() === $this) {
  372. $distributorClinicPrice->setClinic(null);
  373. }
  374. }
  375. return $this;
  376. }
  377. /**
  378. * @return Collection|Orders[]
  379. */
  380. public function getOrders(): Collection
  381. {
  382. return $this->orders;
  383. }
  384. public function addOrder(Orders $order): self
  385. {
  386. if (!$this->orders->contains($order)) {
  387. $this->orders[] = $order;
  388. $order->setClinic($this);
  389. }
  390. return $this;
  391. }
  392. public function removeOrder(Orders $order): self
  393. {
  394. if ($this->orders->removeElement($order)) {
  395. // set the owning side to null (unless already changed)
  396. if ($order->getClinic() === $this) {
  397. $order->setClinic(null);
  398. }
  399. }
  400. return $this;
  401. }
  402. /**
  403. * @return Collection|EventLog[]
  404. */
  405. public function getEventLogs(): Collection
  406. {
  407. return $this->eventLogs;
  408. }
  409. public function addEventLog(EventLog $eventLog): self
  410. {
  411. if (!$this->eventLogs->contains($eventLog)) {
  412. $this->eventLogs[] = $eventLog;
  413. $eventLog->setClinic($this);
  414. }
  415. return $this;
  416. }
  417. public function removeEventLog(EventLog $eventLog): self
  418. {
  419. if ($this->eventLogs->removeElement($eventLog)) {
  420. // set the owning side to null (unless already changed)
  421. if ($eventLog->getClinic() === $this) {
  422. $eventLog->setClinic(null);
  423. }
  424. }
  425. return $this;
  426. }
  427. /**
  428. * @return Collection|Lists[]
  429. */
  430. public function getLists(): Collection
  431. {
  432. return $this->lists;
  433. }
  434. public function addList(Lists $list): self
  435. {
  436. if (!$this->lists->contains($list)) {
  437. $this->lists[] = $list;
  438. $list->setClinic($this);
  439. }
  440. return $this;
  441. }
  442. public function removeList(Lists $list): self
  443. {
  444. if ($this->lists->removeElement($list)) {
  445. // set the owning side to null (unless already changed)
  446. if ($list->getClinic() === $this) {
  447. $list->setClinic(null);
  448. }
  449. }
  450. return $this;
  451. }
  452. /**
  453. * @return Collection|ProductNotes[]
  454. */
  455. public function getProductNotes(): Collection
  456. {
  457. return $this->productNotes;
  458. }
  459. public function addProductNote(ProductNotes $productNote): self
  460. {
  461. if (!$this->productNotes->contains($productNote)) {
  462. $this->productNotes[] = $productNote;
  463. $productNote->setClinic($this);
  464. }
  465. return $this;
  466. }
  467. public function removeProductNote(ProductNotes $productNote): self
  468. {
  469. if ($this->productNotes->removeElement($productNote)) {
  470. // set the owning side to null (unless already changed)
  471. if ($productNote->getClinic() === $this) {
  472. $productNote->setClinic(null);
  473. }
  474. }
  475. return $this;
  476. }
  477. /**
  478. * @return Collection|AvailabilityTracker[]
  479. */
  480. public function getAvailabilityTrackers(): Collection
  481. {
  482. return $this->availabilityTrackers;
  483. }
  484. public function addAvailabilityTracker(AvailabilityTracker $availabilityTracker): self
  485. {
  486. if (!$this->availabilityTrackers->contains($availabilityTracker)) {
  487. $this->availabilityTrackers[] = $availabilityTracker;
  488. $availabilityTracker->setClinic($this);
  489. }
  490. return $this;
  491. }
  492. public function removeAvailabilityTracker(AvailabilityTracker $availabilityTracker): self
  493. {
  494. if ($this->availabilityTrackers->removeElement($availabilityTracker)) {
  495. // set the owning side to null (unless already changed)
  496. if ($availabilityTracker->getClinic() === $this) {
  497. $availabilityTracker->setClinic(null);
  498. }
  499. }
  500. return $this;
  501. }
  502. public function getEmail(): ?string
  503. {
  504. return $this->email;
  505. }
  506. public function setEmail(string $email): self
  507. {
  508. $this->email = $email;
  509. return $this;
  510. }
  511. /**
  512. * @return Collection<int, ClinicProducts>
  513. */
  514. public function getClinicProducts(): Collection
  515. {
  516. return $this->clinicProducts;
  517. }
  518. public function addClinicProduct(ClinicProducts $clinicProduct): self
  519. {
  520. if (!$this->clinicProducts->contains($clinicProduct)) {
  521. $this->clinicProducts[] = $clinicProduct;
  522. $clinicProduct->setClinic($this);
  523. }
  524. return $this;
  525. }
  526. public function removeClinicProduct(ClinicProducts $clinicProduct): self
  527. {
  528. if ($this->clinicProducts->removeElement($clinicProduct)) {
  529. // set the owning side to null (unless already changed)
  530. if ($clinicProduct->getClinic() === $this) {
  531. $clinicProduct->setClinic(null);
  532. }
  533. }
  534. return $this;
  535. }
  536. /**
  537. * @return Collection<int, ProductReviewComments>
  538. */
  539. public function getProductReviewComments(): Collection
  540. {
  541. return $this->productReviewComments;
  542. }
  543. public function addProductReviewComment(ProductReviewComments $productReviewComment): self
  544. {
  545. if (!$this->productReviewComments->contains($productReviewComment)) {
  546. $this->productReviewComments[] = $productReviewComment;
  547. $productReviewComment->setClinic($this);
  548. }
  549. return $this;
  550. }
  551. public function removeProductReviewComment(ProductReviewComments $productReviewComment): self
  552. {
  553. if ($this->productReviewComments->removeElement($productReviewComment)) {
  554. // set the owning side to null (unless already changed)
  555. if ($productReviewComment->getClinic() === $this) {
  556. $productReviewComment->setClinic(null);
  557. }
  558. }
  559. return $this;
  560. }
  561. /**
  562. * @return Collection<int, Notifications>
  563. */
  564. public function getNotifications(): Collection
  565. {
  566. return $this->notifications;
  567. }
  568. public function addNotification(Notifications $notification): self
  569. {
  570. if (!$this->notifications->contains($notification)) {
  571. $this->notifications[] = $notification;
  572. $notification->setClinic($this);
  573. }
  574. return $this;
  575. }
  576. public function removeNotification(Notifications $notification): self
  577. {
  578. if ($this->notifications->removeElement($notification)) {
  579. // set the owning side to null (unless already changed)
  580. if ($notification->getClinic() === $this) {
  581. $notification->setClinic(null);
  582. }
  583. }
  584. return $this;
  585. }
  586. /**
  587. * @return Collection<int, ProductFavourites>
  588. */
  589. public function getProductFavourites(): Collection
  590. {
  591. return $this->productFavourites;
  592. }
  593. public function addProductFavourite(ProductFavourites $productFavourite): self
  594. {
  595. if (!$this->productFavourites->contains($productFavourite)) {
  596. $this->productFavourites[] = $productFavourite;
  597. $productFavourite->setClinic($this);
  598. }
  599. return $this;
  600. }
  601. public function removeProductFavourite(ProductFavourites $productFavourite): self
  602. {
  603. if ($this->productFavourites->removeElement($productFavourite)) {
  604. // set the owning side to null (unless already changed)
  605. if ($productFavourite->getClinic() === $this) {
  606. $productFavourite->setClinic(null);
  607. }
  608. }
  609. return $this;
  610. }
  611. /**
  612. * @return Collection<int, ChatParticipants>
  613. */
  614. public function getChatParticipants(): Collection
  615. {
  616. return $this->chatParticipants;
  617. }
  618. public function addChatParticipant(ChatParticipants $chatParticipant): self
  619. {
  620. if (!$this->chatParticipants->contains($chatParticipant)) {
  621. $this->chatParticipants[] = $chatParticipant;
  622. $chatParticipant->setClinic($this);
  623. }
  624. return $this;
  625. }
  626. public function removeChatParticipant(ChatParticipants $chatParticipant): self
  627. {
  628. if ($this->chatParticipants->removeElement($chatParticipant)) {
  629. // set the owning side to null (unless already changed)
  630. if ($chatParticipant->getClinic() === $this) {
  631. $chatParticipant->setClinic(null);
  632. }
  633. }
  634. return $this;
  635. }
  636. public function getIsoCode(): ?string
  637. {
  638. return $this->isoCode;
  639. }
  640. public function setIsoCode(?string $isoCode): self
  641. {
  642. $this->isoCode = $isoCode;
  643. return $this;
  644. }
  645. public function getIntlCode(): ?string
  646. {
  647. return $this->intlCode;
  648. }
  649. public function setIntlCode(?string $intlCode): self
  650. {
  651. $this->intlCode = $intlCode;
  652. return $this;
  653. }
  654. /**
  655. * @return Collection<int, ClinicUserPermissions>
  656. */
  657. public function getClinicUserPermissions(): Collection
  658. {
  659. return $this->clinicUserPermissions;
  660. }
  661. public function addClinicUserPermission(ClinicUserPermissions $clinicUserPermission): self
  662. {
  663. if (!$this->clinicUserPermissions->contains($clinicUserPermission)) {
  664. $this->clinicUserPermissions[] = $clinicUserPermission;
  665. $clinicUserPermission->setClinic($this);
  666. }
  667. return $this;
  668. }
  669. public function removeClinicUserPermission(ClinicUserPermissions $clinicUserPermission): self
  670. {
  671. if ($this->clinicUserPermissions->removeElement($clinicUserPermission)) {
  672. // set the owning side to null (unless already changed)
  673. if ($clinicUserPermission->getClinic() === $this) {
  674. $clinicUserPermission->setClinic(null);
  675. }
  676. }
  677. return $this;
  678. }
  679. /**
  680. * @return Collection<int, DistributorClinics>
  681. */
  682. public function getDistributorClinics(): Collection
  683. {
  684. return $this->distributorClinics;
  685. }
  686. public function addDistributorClinic(DistributorClinics $distributorClinic): self
  687. {
  688. if (!$this->distributorClinics->contains($distributorClinic)) {
  689. $this->distributorClinics[] = $distributorClinic;
  690. $distributorClinic->setClinic($this);
  691. }
  692. return $this;
  693. }
  694. public function removeDistributorClinic(DistributorClinics $distributorClinic): self
  695. {
  696. if ($this->distributorClinics->removeElement($distributorClinic)) {
  697. // set the owning side to null (unless already changed)
  698. if ($distributorClinic->getClinic() === $this) {
  699. $distributorClinic->setClinic(null);
  700. }
  701. }
  702. return $this;
  703. }
  704. public function getCountry(): ?Countries
  705. {
  706. return $this->country;
  707. }
  708. public function setCountry(?Countries $country): self
  709. {
  710. $this->country = $country;
  711. return $this;
  712. }
  713. public function getHashedEmail(): ?string
  714. {
  715. return $this->hashedEmail;
  716. }
  717. public function setHashedEmail(?string $hashedEmail): self
  718. {
  719. $this->hashedEmail = $hashedEmail;
  720. return $this;
  721. }
  722. public function getDomainName(): ?string
  723. {
  724. return $this->domainName;
  725. }
  726. public function setDomainName(?string $domainName): self
  727. {
  728. $this->domainName = $domainName;
  729. return $this;
  730. }
  731. public function getIsApproved(): ?int
  732. {
  733. return $this->isApproved;
  734. }
  735. public function setIsApproved(?int $isApproved): self
  736. {
  737. $this->isApproved = $isApproved;
  738. return $this;
  739. }
  740. public function getManagerFirstName(): ?string
  741. {
  742. return $this->managerFirstName;
  743. }
  744. public function setManagerFirstName(?string $managerFirstName): self
  745. {
  746. $this->managerFirstName = $managerFirstName;
  747. return $this;
  748. }
  749. public function getManagerLastName(): ?string
  750. {
  751. return $this->managerLastName;
  752. }
  753. public function setManagerLastName(?string $managerLastName): self
  754. {
  755. $this->managerLastName = $managerLastName;
  756. return $this;
  757. }
  758. public function getTradeLicense(): ?string
  759. {
  760. return $this->tradeLicense;
  761. }
  762. public function setTradeLicense(?string $tradeLicense): self
  763. {
  764. $this->tradeLicense = $tradeLicense;
  765. return $this;
  766. }
  767. public function getTradeLicenseNo(): ?string
  768. {
  769. return $this->tradeLicenseNo;
  770. }
  771. public function setTradeLicenseNo(?string $tradeLicenseNo): self
  772. {
  773. $this->tradeLicenseNo = $tradeLicenseNo;
  774. return $this;
  775. }
  776. public function getTradeLicenseExpDate(): ?\DateTimeInterface
  777. {
  778. return $this->tradeLicenseExpDate;
  779. }
  780. public function setTradeLicenseExpDate(?\DateTimeInterface $tradeLicenseExpDate): self
  781. {
  782. $this->tradeLicenseExpDate = $tradeLicenseExpDate;
  783. return $this;
  784. }
  785. public function getManagerIdNo(): ?string
  786. {
  787. return $this->managerIdNo;
  788. }
  789. public function setManagerIdNo(?string $managerIdNo): self
  790. {
  791. $this->managerIdNo = $managerIdNo;
  792. return $this;
  793. }
  794. public function getManagerIdExpDate(): ?\DateTimeInterface
  795. {
  796. return $this->managerIdExpDate;
  797. }
  798. public function setManagerIdExpDate(?\DateTimeInterface $managerIdExpDate): self
  799. {
  800. $this->managerIdExpDate = $managerIdExpDate;
  801. return $this;
  802. }
  803. /**
  804. * @return Collection<int, RetailUsers>
  805. */
  806. public function getRetailUsers(): Collection
  807. {
  808. return $this->retailUsers;
  809. }
  810. public function addRetailUser(RetailUsers $retailUser): self
  811. {
  812. if (!$this->retailUsers->contains($retailUser)) {
  813. $this->retailUsers[] = $retailUser;
  814. $retailUser->setClinic($this);
  815. }
  816. return $this;
  817. }
  818. public function removeRetailUser(RetailUsers $retailUser): self
  819. {
  820. if ($this->retailUsers->removeElement($retailUser)) {
  821. // set the owning side to null (unless already changed)
  822. if ($retailUser->getClinic() === $this) {
  823. $retailUser->setClinic(null);
  824. }
  825. }
  826. return $this;
  827. }
  828. public function getLogo(): ?string
  829. {
  830. return $this->logo;
  831. }
  832. public function setLogo(?string $logo): self
  833. {
  834. $this->logo = $logo;
  835. return $this;
  836. }
  837. /**
  838. * @return Collection<int, ClinicRetailUsers>
  839. */
  840. public function getClinicRetailUsers(): Collection
  841. {
  842. return $this->clinicRetailUsers;
  843. }
  844. public function addClinicRetailUser(ClinicRetailUsers $clinicRetailUser): self
  845. {
  846. if (!$this->clinicRetailUsers->contains($clinicRetailUser)) {
  847. $this->clinicRetailUsers[] = $clinicRetailUser;
  848. $clinicRetailUser->setClinic($this);
  849. }
  850. return $this;
  851. }
  852. public function removeClinicRetailUser(ClinicRetailUsers $clinicRetailUser): self
  853. {
  854. if ($this->clinicRetailUsers->removeElement($clinicRetailUser)) {
  855. // set the owning side to null (unless already changed)
  856. if ($clinicRetailUser->getClinic() === $this) {
  857. $clinicRetailUser->setClinic(null);
  858. }
  859. }
  860. return $this;
  861. }
  862. /**
  863. * @return Collection<int, ProductRetail>
  864. */
  865. public function getProductRetails(): Collection
  866. {
  867. return $this->productRetails;
  868. }
  869. public function addProductRetail(ProductRetail $productRetail): self
  870. {
  871. if (!$this->productRetails->contains($productRetail)) {
  872. $this->productRetails[] = $productRetail;
  873. $productRetail->setClinic($this);
  874. }
  875. return $this;
  876. }
  877. public function removeProductRetail(ProductRetail $productRetail): self
  878. {
  879. if ($this->productRetails->removeElement($productRetail)) {
  880. // set the owning side to null (unless already changed)
  881. if ($productRetail->getClinic() === $this) {
  882. $productRetail->setClinic(null);
  883. }
  884. }
  885. return $this;
  886. }
  887. public function getPoNumberPrefix(): ?string
  888. {
  889. return $this->PoNumberPrefix;
  890. }
  891. public function setPoNumberPrefix(?string $PoNumberPrefix): self
  892. {
  893. $this->PoNumberPrefix = $PoNumberPrefix;
  894. return $this;
  895. }
  896. public function getAbout(): ?string
  897. {
  898. return $this->about;
  899. }
  900. public function setAbout(?string $about): self
  901. {
  902. $this->about = $about;
  903. return $this;
  904. }
  905. public function getOperatingHours(): ?string
  906. {
  907. return $this->operatingHours;
  908. }
  909. public function setOperatingHours(?string $operatingHours): self
  910. {
  911. $this->operatingHours = $operatingHours;
  912. return $this;
  913. }
  914. public function getRefundPolicy(): ?string
  915. {
  916. return $this->refundPolicy;
  917. }
  918. public function setRefundPolicy(?string $refundPolicy): self
  919. {
  920. $this->refundPolicy = $refundPolicy;
  921. return $this;
  922. }
  923. public function getSalesTaxPolicy(): ?string
  924. {
  925. return $this->salesTaxPolicy;
  926. }
  927. public function setSalesTaxPolicy(?string $salesTaxPolicy): self
  928. {
  929. $this->salesTaxPolicy = $salesTaxPolicy;
  930. return $this;
  931. }
  932. public function getShippingPolicy(): ?string
  933. {
  934. return $this->shippingPolicy;
  935. }
  936. public function setShippingPolicy(?string $shippingPolicy): self
  937. {
  938. $this->shippingPolicy = $shippingPolicy;
  939. return $this;
  940. }
  941. /**
  942. * @return Collection<int, CustomPriceLists>
  943. */
  944. public function getCustomPriceLists(): Collection
  945. {
  946. return $this->customPriceLists;
  947. }
  948. public function addCustomPriceList(CustomPriceLists $customPriceList): static
  949. {
  950. if (!$this->customPriceLists->contains($customPriceList)) {
  951. $this->customPriceLists->add($customPriceList);
  952. $customPriceList->setClinic($this);
  953. }
  954. return $this;
  955. }
  956. public function removeCustomPriceList(CustomPriceLists $customPriceList): static
  957. {
  958. if ($this->customPriceLists->removeElement($customPriceList)) {
  959. // set the owning side to null (unless already changed)
  960. if ($customPriceList->getClinic() === $this) {
  961. $customPriceList->setClinic(null);
  962. }
  963. }
  964. return $this;
  965. }
  966. /**
  967. * @return Collection<int, ClinicDistributorContacts>
  968. */
  969. public function getClinicDistributorContacts(): Collection
  970. {
  971. return $this->clinicDistributorContacts;
  972. }
  973. public function addClinicDistributorContact(ClinicDistributorContacts $clinicDistributorContact): static
  974. {
  975. if (!$this->clinicDistributorContacts->contains($clinicDistributorContact)) {
  976. $this->clinicDistributorContacts->add($clinicDistributorContact);
  977. $clinicDistributorContact->setClinic($this);
  978. }
  979. return $this;
  980. }
  981. public function removeClinicDistributorContact(ClinicDistributorContacts $clinicDistributorContact): static
  982. {
  983. if ($this->clinicDistributorContacts->removeElement($clinicDistributorContact)) {
  984. // set the owning side to null (unless already changed)
  985. if ($clinicDistributorContact->getClinic() === $this) {
  986. $clinicDistributorContact->setClinic(null);
  987. }
  988. }
  989. return $this;
  990. }
  991. /**
  992. * @return Collection<int, SearchLog>
  993. */
  994. public function getSearchLogs(): Collection
  995. {
  996. return $this->searchLogs;
  997. }
  998. public function addSearchLog(SearchLog $searchLog): static
  999. {
  1000. if (!$this->searchLogs->contains($searchLog)) {
  1001. $this->searchLogs->add($searchLog);
  1002. $searchLog->setClinic($this);
  1003. }
  1004. return $this;
  1005. }
  1006. public function removeSearchLog(SearchLog $searchLog): static
  1007. {
  1008. if ($this->searchLogs->removeElement($searchLog)) {
  1009. // set the owning side to null (unless already changed)
  1010. if ($searchLog->getClinic() === $this) {
  1011. $searchLog->setClinic(null);
  1012. }
  1013. }
  1014. return $this;
  1015. }
  1016. /**
  1017. * @return Collection<int, AiProductFavourites>
  1018. */
  1019. public function getAiProductFavourites(): Collection
  1020. {
  1021. return $this->aiProductFavourites;
  1022. }
  1023. public function addAiProductFavourite(AiProductFavourites $aiProductFavourite): static
  1024. {
  1025. if (!$this->aiProductFavourites->contains($aiProductFavourite)) {
  1026. $this->aiProductFavourites->add($aiProductFavourite);
  1027. $aiProductFavourite->setClinic($this);
  1028. }
  1029. return $this;
  1030. }
  1031. public function removeAiProductFavourite(AiProductFavourites $aiProductFavourite): static
  1032. {
  1033. if ($this->aiProductFavourites->removeElement($aiProductFavourite)) {
  1034. // set the owning side to null (unless already changed)
  1035. if ($aiProductFavourite->getClinic() === $this) {
  1036. $aiProductFavourite->setClinic(null);
  1037. }
  1038. }
  1039. return $this;
  1040. }
  1041. /**
  1042. * @return Collection<int, AiProductNotes>
  1043. */
  1044. public function getAiProductNotes(): Collection
  1045. {
  1046. return $this->aiProductNotes;
  1047. }
  1048. public function addAiProductNote(AiProductNotes $aiProductNote): static
  1049. {
  1050. if (!$this->aiProductNotes->contains($aiProductNote)) {
  1051. $this->aiProductNotes->add($aiProductNote);
  1052. $aiProductNote->setClinic($this);
  1053. }
  1054. return $this;
  1055. }
  1056. public function removeAiProductNote(AiProductNotes $aiProductNote): static
  1057. {
  1058. if ($this->aiProductNotes->removeElement($aiProductNote)) {
  1059. // set the owning side to null (unless already changed)
  1060. if ($aiProductNote->getClinic() === $this) {
  1061. $aiProductNote->setClinic(null);
  1062. }
  1063. }
  1064. return $this;
  1065. }
  1066. /**
  1067. * @return Collection<int, AiProductReviewComments>
  1068. */
  1069. public function getAiProductReviewComments(): Collection
  1070. {
  1071. return $this->aiProductReviewComments;
  1072. }
  1073. public function addAiProductReviewComment(AiProductReviewComments $aiProductReviewComment): static
  1074. {
  1075. if (!$this->aiProductReviewComments->contains($aiProductReviewComment)) {
  1076. $this->aiProductReviewComments->add($aiProductReviewComment);
  1077. $aiProductReviewComment->setClinic($this);
  1078. }
  1079. return $this;
  1080. }
  1081. public function removeAiProductReviewComment(AiProductReviewComments $aiProductReviewComment): static
  1082. {
  1083. if ($this->aiProductReviewComments->removeElement($aiProductReviewComment)) {
  1084. // set the owning side to null (unless already changed)
  1085. if ($aiProductReviewComment->getClinic() === $this) {
  1086. $aiProductReviewComment->setClinic(null);
  1087. }
  1088. }
  1089. return $this;
  1090. }
  1091. /**
  1092. * @return Collection<int, AiLists>
  1093. */
  1094. public function getAiLists(): Collection
  1095. {
  1096. return $this->aiLists;
  1097. }
  1098. public function addAiList(AiLists $aiList): static
  1099. {
  1100. if (!$this->aiLists->contains($aiList)) {
  1101. $this->aiLists->add($aiList);
  1102. $aiList->setClinic($this);
  1103. }
  1104. return $this;
  1105. }
  1106. public function removeAiList(AiLists $aiList): static
  1107. {
  1108. if ($this->aiLists->removeElement($aiList)) {
  1109. // set the owning side to null (unless already changed)
  1110. if ($aiList->getClinic() === $this) {
  1111. $aiList->setClinic(null);
  1112. }
  1113. }
  1114. return $this;
  1115. }
  1116. /**
  1117. * @return Collection<int, AiProductRetail>
  1118. */
  1119. public function getAiProductRetails(): Collection
  1120. {
  1121. return $this->aiProductRetails;
  1122. }
  1123. public function addAiProductRetail(AiProductRetail $aiProductRetail): static
  1124. {
  1125. if (!$this->aiProductRetails->contains($aiProductRetail)) {
  1126. $this->aiProductRetails->add($aiProductRetail);
  1127. $aiProductRetail->setClinic($this);
  1128. }
  1129. return $this;
  1130. }
  1131. public function removeAiProductRetail(AiProductRetail $aiProductRetail): static
  1132. {
  1133. if ($this->aiProductRetails->removeElement($aiProductRetail)) {
  1134. // set the owning side to null (unless already changed)
  1135. if ($aiProductRetail->getClinic() === $this) {
  1136. $aiProductRetail->setClinic(null);
  1137. }
  1138. }
  1139. return $this;
  1140. }
  1141. /**
  1142. * @return Collection<int, AiAddresses>
  1143. */
  1144. public function getAiAddresses(): Collection
  1145. {
  1146. return $this->aiAddresses;
  1147. }
  1148. public function addAiAddress(AiAddresses $aiAddress): static
  1149. {
  1150. if (!$this->aiAddresses->contains($aiAddress)) {
  1151. $this->aiAddresses->add($aiAddress);
  1152. $aiAddress->setClinic($this);
  1153. }
  1154. return $this;
  1155. }
  1156. public function removeAiAddress(AiAddresses $aiAddress): static
  1157. {
  1158. if ($this->aiAddresses->removeElement($aiAddress)) {
  1159. // set the owning side to null (unless already changed)
  1160. if ($aiAddress->getClinic() === $this) {
  1161. $aiAddress->setClinic(null);
  1162. }
  1163. }
  1164. return $this;
  1165. }
  1166. /**
  1167. * @return Collection<int, AiBaskets>
  1168. */
  1169. public function getAiBaskets(): Collection
  1170. {
  1171. return $this->aiBaskets;
  1172. }
  1173. public function addAiBasket(AiBaskets $aiBasket): static
  1174. {
  1175. if (!$this->aiBaskets->contains($aiBasket)) {
  1176. $this->aiBaskets->add($aiBasket);
  1177. $aiBasket->setClinic($this);
  1178. }
  1179. return $this;
  1180. }
  1181. public function removeAiBasket(AiBaskets $aiBasket): static
  1182. {
  1183. if ($this->aiBaskets->removeElement($aiBasket)) {
  1184. // set the owning side to null (unless already changed)
  1185. if ($aiBasket->getClinic() === $this) {
  1186. $aiBasket->setClinic(null);
  1187. }
  1188. }
  1189. return $this;
  1190. }
  1191. /**
  1192. * @return Collection<int, AiOrders>
  1193. */
  1194. public function getAiOrders(): Collection
  1195. {
  1196. return $this->aiOrders;
  1197. }
  1198. public function addAiOrder(AiOrders $aiOrder): static
  1199. {
  1200. if (!$this->aiOrders->contains($aiOrder)) {
  1201. $this->aiOrders->add($aiOrder);
  1202. $aiOrder->setClinic($this);
  1203. }
  1204. return $this;
  1205. }
  1206. public function removeAiOrder(AiOrders $aiOrder): static
  1207. {
  1208. if ($this->aiOrders->removeElement($aiOrder)) {
  1209. // set the owning side to null (unless already changed)
  1210. if ($aiOrder->getClinic() === $this) {
  1211. $aiOrder->setClinic(null);
  1212. }
  1213. }
  1214. return $this;
  1215. }
  1216. /**
  1217. * @return Collection<int, AiClinicProducts>
  1218. */
  1219. public function getAiClinicProducts(): Collection
  1220. {
  1221. return $this->aiClinicProducts;
  1222. }
  1223. public function addAiCinicProduct(AiClinicProducts $aiCinicProduct): static
  1224. {
  1225. if (!$this->aiClinicProducts->contains($aiCinicProduct)) {
  1226. $this->aiClinicProducts->add($aiCinicProduct);
  1227. $aiCinicProduct->setClinic($this);
  1228. }
  1229. return $this;
  1230. }
  1231. public function removeAiCinicProduct(AiClinicProducts $aiCinicProduct): static
  1232. {
  1233. if ($this->aiClinicProducts->removeElement($aiCinicProduct)) {
  1234. // set the owning side to null (unless already changed)
  1235. if ($aiCinicProduct->getClinic() === $this) {
  1236. $aiCinicProduct->setClinic(null);
  1237. }
  1238. }
  1239. return $this;
  1240. }
  1241. /**
  1242. * @return Collection<int, AiCustomPriceLists>
  1243. */
  1244. public function getAiCustomPriceLists(): Collection
  1245. {
  1246. return $this->aiCustomPriceLists;
  1247. }
  1248. public function addAiCustomPriceList(AiCustomPriceLists $aiCustomPriceList): static
  1249. {
  1250. if (!$this->aiCustomPriceLists->contains($aiCustomPriceList)) {
  1251. $this->aiCustomPriceLists->add($aiCustomPriceList);
  1252. $aiCustomPriceList->setClinic($this);
  1253. }
  1254. return $this;
  1255. }
  1256. public function removeAiCustomPriceList(AiCustomPriceLists $aiCustomPriceList): static
  1257. {
  1258. if ($this->aiCustomPriceLists->removeElement($aiCustomPriceList)) {
  1259. // set the owning side to null (unless already changed)
  1260. if ($aiCustomPriceList->getClinic() === $this) {
  1261. $aiCustomPriceList->setClinic(null);
  1262. }
  1263. }
  1264. return $this;
  1265. }
  1266. }