<?phpnamespace App\Entity;use App\Repository\CustomerMoralRepository;use App\Trait\PersonMoral;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Serializer\Annotation\Groups;#[ORM\Entity(repositoryClass: CustomerMoralRepository::class)]class CustomerMoral extends Customer{ use PersonMoral; #[ORM\Column(type: Types::BOOLEAN)] #[Groups(['customer:read'])] private ?bool $exemptTax = false; #[ORM\Column(type: Types::BOOLEAN)] #[Groups(['customer:read'])] private ?bool $exemptStamp = false; #[ORM\Column(type: Types::DECIMAL, precision: 20, scale: 3)] private ?float $authorizedCreditAmount = 0; #[ORM\Column(nullable: true)] private ?bool $preferred = null; #[ORM\Column(nullable: true)] private ?int $corporateStrategy = null; #[ORM\Column] private ?float $resellerMargin = null; #[ORM\Column] private ?bool $logoVisibility = false; public function __construct() { parent::__construct(); } public function getExemptTax(): ?bool { return $this->exemptTax; } public function setExemptTax(bool $exempt_tax): self { $this->exemptTax = $exempt_tax; return $this; } public function getExemptStamp(): ?bool { return $this->exemptStamp; } public function setExemptStamp(bool $exempt_stamp): self { $this->exemptStamp = $exempt_stamp; return $this; } public function getCreditAmountAuthorized(): ?float { return $this->authorizedCreditAmount; } public function setCreditAmountAuthorized(float $credit_amount_authorized): self { $this->authorizedCreditAmount = $credit_amount_authorized; return $this; } public function isPreferred(): ?bool { return $this->preferred; } public function setPreferred(bool $preferred): self { $this->preferred = $preferred; return $this; } public function getCorporateStrategy(): ?int { return $this->corporateStrategy; } public function setCorporateStrategy(?int $corporate_strategy): self { $this->corporateStrategy = $corporate_strategy; return $this; } public function getClass() : string { return "CustomerMoral"; } public function __toString(): string { return $this->getName() . ' - BTOB'; } public function getResellerMargin(): ?float { return $this->resellerMargin; } public function setResellerMargin(?float $resellerMargin): static { $this->resellerMargin = $resellerMargin; return $this; } public function isLogoVisibility(): ?bool { return $this->logoVisibility; } public function setLogoVisibility(bool $logoVisibility): static { $this->logoVisibility = $logoVisibility; return $this; }}