src/Entity/CreditRule.php line 15
<?phpnamespace App\Entity;use App\Enum\CreditRuleType;use App\Repository\CreditRuleRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Gedmo\Timestampable\Traits\TimestampableEntity;#[ORM\Entity(repositoryClass: CreditRuleRepository::class)]class CreditRule{use TimestampableEntity;#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\Column(length: 255)]private ?string $name = null;#[ORM\Column(type: Types::INTEGER, enumType: CreditRuleType::class)]private ?CreditRuleType $ruleType = null;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $activeStartDate = null;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $activeEndDate = null;#[ORM\Column(type: Types::TEXT, nullable: true)]private ?string $description = null;#[ORM\Column(nullable: true)]private ?bool $rollableOnReporting = null;#[ORM\OneToMany(mappedBy: 'creditRule', targetEntity: RuleConditionOld::class, orphanRemoval: true, cascade: ['persist'], fetch: "EAGER")]private Collection $creditRuleConditions;#[ORM\ManyToOne]#[ORM\JoinColumn(nullable: false)]private ?CreditRuleResultFormula $creditRuleResultFormula = null;#[ORM\ManyToOne]private ?CreditType $creditType = null;#[ORM\ManyToMany(targetEntity: CreditType::class, fetch: 'EAGER')]private Collection $indirectCreditTypes;#[ORM\ManyToOne(inversedBy: 'creditRules')]#[ORM\JoinColumn(nullable: false)]private ?Year $year = null;public function __construct(){$this->creditRuleConditions = new ArrayCollection();$this->indirectCreditTypes = new ArrayCollection();}public function getId(): ?int{return $this->id;}public function getName(): ?string{return $this->name;}public function setName(string $name): self{$this->name = $name;return $this;}public function getRuleType() : ?CreditRuleType{return $this->ruleType;}public function setRuleType($ruleType): self{$this->ruleType = $ruleType;return $this;}public function getActiveStartDate(): ?\DateTimeInterface{return $this->activeStartDate;}public function setActiveStartDate(?\DateTimeInterface $activeStartDate): self{$this->activeStartDate = $activeStartDate;return $this;}public function getActiveEndDate(): ?\DateTimeInterface{return $this->activeEndDate;}public function setActiveEndDate(?\DateTimeInterface $activeEndDate): self{$this->activeEndDate = $activeEndDate;return $this;}public function getDescription(): ?string{return $this->description;}public function setDescription(?string $description): self{$this->description = $description;return $this;}public function isRollableOnReporting(): ?bool{return $this->rollableOnReporting;}public function setRollableOnReporting(?bool $rollableOnReporting): self{$this->rollableOnReporting = $rollableOnReporting;return $this;}/*** @return Collection<int, RuleConditionOld>*/public function getRuleConditions(): Collection{return $this->creditRuleConditions;}public function addRuleCondition(RuleConditionOld $ruleCondition): self{if (!$this->creditRuleConditions->contains($ruleCondition)) {$this->creditRuleConditions->add($ruleCondition);$ruleCondition->setCreditRule($this);}return $this;}public function removeRuleCondition(RuleConditionOld $ruleCondition): self{if ($this->creditRuleConditions->removeElement($ruleCondition)) {// set the owning side to null (unless already changed)if ($ruleCondition->getCreditRule() === $this) {$ruleCondition->setCreditRule(null);}}return $this;}public function getCreditRuleResultFormula(): ?CreditRuleResultFormula{return $this->creditRuleResultFormula;}public function setCreditRuleResultFormula(?CreditRuleResultFormula $creditRuleResultFormula): self{$this->creditRuleResultFormula = $creditRuleResultFormula;return $this;}public function getCreditType(): ?CreditType{return $this->creditType;}public function setCreditType(?CreditType $creditType): self{$this->creditType = $creditType;return $this;}public function __toString(){return $this->name;}/*** @return Collection<int, CreditType>*/public function getIndirectCreditTypes(): Collection{return $this->indirectCreditTypes;}public function addIndirectCreditType(CreditType $indirectCreditType): self{if (!$this->indirectCreditTypes->contains($indirectCreditType)) {$this->indirectCreditTypes->add($indirectCreditType);}return $this;}public function removeIndirectCreditType(CreditType $indirectCreditType): self{$this->indirectCreditTypes->removeElement($indirectCreditType);return $this;}public function getYear(): ?Year{return $this->year;}public function setYear(?Year $year): self{$this->year = $year;return $this;}}