<?php
namespace App\Entity;
use App\Repository\FinancementRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=FinancementRepository::class)
*/
class Financement
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=10)
*/
private $typeF;
/**
* @ORM\ManyToOne(targetEntity=CondRegle::class, inversedBy="financements")
* @ORM\JoinColumn(nullable=true)
*/
private $conditionreglement;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $montant;
/**
* @ORM\ManyToOne(targetEntity=Inscrit::class, inversedBy="financements", cascade={"persist"})
*/
private $inscrit;
/**
* @ORM\OneToMany(targetEntity=Reglement::class, mappedBy="financement",cascade={"persist"})
*/
private $reglements;
/**
* @ORM\ManyToOne(targetEntity=Entreprise::class, inversedBy="financements")
*/
private $entreprise;
/**
* @ORM\ManyToOne(targetEntity=Organisme::class, inversedBy="financements")
*/
private $organisme;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $frequence;
/**
* @ORM\OneToMany(targetEntity=EcheanceInscrit::class, mappedBy="financement", orphanRemoval=true, cascade={"persist"})
*/
private $echeanceInscrits;
/**
* @ORM\OneToOne(targetEntity=LigneFacture::class, mappedBy="financement", cascade={"persist", "remove"})
*/
private $ligneFacture;
public function __construct()
{
$this->reglements = new ArrayCollection();
$this->echeanceInscrits = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getTypeF(): ?string
{
return $this->typeF;
}
public function setTypeF(string $typeF): self
{
$this->typeF = $typeF;
return $this;
}
public function getConditionreglement(): ?CondRegle
{
return $this->conditionreglement;
}
public function setConditionreglement(?CondRegle $conditionreglement): self{
$this->conditionreglement = $conditionreglement;
return $this;
}
public function getMontant(): ?float
{
return $this->montant;
}
public function setMontant(?float $montant): self
{
$this->montant = $montant;
return $this;
}
public function getInscrit(): ?Inscrit
{
return $this->inscrit;
}
public function setInscrit(Inscrit $inscrit): self
{
$this->inscrit = $inscrit;
return $this;
}
/**
* @return Collection<int, Reglement>
*/
public function getReglements(): Collection
{
return $this->reglements;
}
public function addReglement(Reglement $reglement): self
{
if (!$this->reglements->contains($reglement)) {
$this->reglements[] = $reglement;
$reglement->setFinancement($this);
}
return $this;
}
public function removeReglement(Reglement $reglement): self
{
if ($this->reglements->removeElement($reglement)) {
// set the owning side to null (unless already changed)
if ($reglement->getFinancement() === $this) {
$reglement->setFinancement(null);
}
}
return $this;
}
public function getEntreprise(): ?Entreprise
{
return $this->entreprise;
}
public function setEntreprise(?Entreprise $entreprise): self
{
$this->entreprise = $entreprise;
return $this;
}
public function getOrganisme(): ?Organisme
{
return $this->organisme;
}
public function setOrganisme(?Organisme $organisme): self
{
$this->organisme = $organisme;
return $this;
}
public function getFrequence(): ?int
{
return $this->frequence;
}
public function setFrequence(?int $frequence): self
{
$this->frequence = $frequence;
return $this;
}
/**
* @return Collection<int, EcheanceInscrit>
*/
public function getEcheanceInscrits(): Collection
{
return $this->echeanceInscrits;
}
public function addEcheanceInscrit(EcheanceInscrit $echeanceInscrit): self
{
if (!$this->echeanceInscrits->contains($echeanceInscrit)) {
$this->echeanceInscrits[] = $echeanceInscrit;
$echeanceInscrit->setFinancement($this);
}
return $this;
}
public function removeEcheanceInscrit(EcheanceInscrit $echeanceInscrit): self
{
if ($this->echeanceInscrits->removeElement($echeanceInscrit)) {
// set the owning side to null (unless already changed)
if ($echeanceInscrit->getFinancement() === $this) {
$echeanceInscrit->setFinancement(null);
}
}
return $this;
}
public function getLigneFacture(): ?LigneFacture
{
return $this->ligneFacture;
}
public function setLigneFacture(?LigneFacture $ligneFacture): self
{
// unset the owning side of the relation if necessary
if ($ligneFacture === null && $this->ligneFacture !== null) {
$this->ligneFacture->setFinancement(null);
}
// set the owning side of the relation if necessary
if ($ligneFacture !== null && $ligneFacture->getFinancement() !== $this) {
$ligneFacture->setFinancement($this);
}
$this->ligneFacture = $ligneFacture;
return $this;
}
}