src\Entity\Facture.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\FactureRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. /**
  8.  * @ORM\Entity(repositoryClass=FactureRepository::class)
  9.  */
  10. class Facture
  11. {
  12.     /**
  13.      * @ORM\Id()
  14.      * @ORM\GeneratedValue()
  15.      * @ORM\Column(type="integer")
  16.      */
  17.     private $id;
  18.     /**
  19.      * @ORM\Column(type="float", nullable=true)
  20.      */
  21.     private $montant;
  22.     /**
  23.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="factures")
  24.      * @ORM\JoinColumn(nullable=false)
  25.      */
  26.     private $user;
  27.     /**
  28.      * @ORM\Column(type="datetime", nullable=true)
  29.      */
  30.     private $paid_at;
  31.     /**
  32.      * @ORM\Column(type="datetime", nullable=true)
  33.      */
  34.     private $cancelled_at;
  35.     /**
  36.      * @ORM\Column(type="datetime")
  37.      */
  38.     private $created_at;
  39.     /**
  40.      * @ORM\Column(type="integer", nullable=true)
  41.      */
  42.     private $type_payement;
  43.     /**
  44.      * @ORM\OneToMany(targetEntity=Souscription::class, mappedBy="facture")
  45.      */
  46.     private $souscriptions;
  47.     /**
  48.      * @ORM\Column(type="string", length=255)
  49.      */
  50.     private $email;
  51.     /**
  52.      * @ORM\Column(type="string", length=255)
  53.      */
  54.     private $nom;
  55.     /**
  56.      * @ORM\Column(type="string", length=255)
  57.      */
  58.     private $adresse;
  59.     /**
  60.      * @ORM\Column(type="string", length=255, nullable=true)
  61.      */
  62.     private $adresse2;
  63.     /**
  64.      * @ORM\Column(type="string", length=255)
  65.      */
  66.     private $pays;
  67.     /**
  68.      * @ORM\Column(type="string", length=255)
  69.      */
  70.     private $ville;
  71.     /**
  72.      * @ORM\Column(type="string", length=255)
  73.      */
  74.     private $region;
  75.     /**
  76.      * @ORM\Column(type="string", length=255)
  77.      */
  78.     private $zip;
  79.     /**
  80.      * @ORM\Column(type="string", length=255)
  81.      */
  82.     private $tel;
  83.     /**
  84.      * @ORM\Column(type="integer")
  85.      */
  86.     private $status;
  87.     /**
  88.      * @ORM\Column(type="string", length=255)
  89.      */
  90.     private $code;
  91.     const FULL_STATUS =['impayée','Payée','Annulée'];
  92.     public function __construct()
  93.     {
  94.         $this->souscriptions = new ArrayCollection();
  95.         $this->created_at = new \DateTime();
  96.         $this->status 0;
  97.     }
  98.     public function getTax()
  99.     {
  100.         return floor(($this->montant*0.18) / ) * 5;
  101.     }
  102.     public function getFullStatus()
  103.     {
  104.         return self::FULL_STATUS[$this->status];
  105.     }
  106.     public function getId(): ?int
  107.     {
  108.         return $this->id;
  109.     }
  110.     public function getMontant(): ?float
  111.     {
  112.         return $this->montant;
  113.     }
  114.     public function setMontant(?float $montant): self
  115.     {
  116.         $this->montant $montant;
  117.         return $this;
  118.     }
  119.     public function getUser(): ?User
  120.     {
  121.         return $this->user;
  122.     }
  123.     public function setUser(?User $user): self
  124.     {
  125.         $this->user $user;
  126.         return $this;
  127.     }
  128.     public function getPaidAt(): ?\DateTimeInterface
  129.     {
  130.         return $this->paid_at;
  131.     }
  132.     public function setPaidAt(?\DateTimeInterface $paid_at): self
  133.     {
  134.         $this->paid_at $paid_at;
  135.         return $this;
  136.     }
  137.     public function getCancelledAt(): ?\DateTimeInterface
  138.     {
  139.         return $this->cancelled_at;
  140.     }
  141.     public function setCancelledAt(?\DateTimeInterface $cancelled_at): self
  142.     {
  143.         $this->cancelled_at $cancelled_at;
  144.         return $this;
  145.     }
  146.     public function getCreatedAt(): ?\DateTimeInterface
  147.     {
  148.         return $this->created_at;
  149.     }
  150.     public function setCreatedAt(\DateTimeInterface $created_at): self
  151.     {
  152.         $this->created_at $created_at;
  153.         return $this;
  154.     }
  155.     public function getTypePayement(): ?int
  156.     {
  157.         return $this->type_payement;
  158.     }
  159.     public function setTypePayement(?int $type_payement): self
  160.     {
  161.         $this->type_payement $type_payement;
  162.         return $this;
  163.     }
  164.     /**
  165.      * @return Collection|Souscription[]
  166.      */
  167.     public function getSouscriptions(): Collection
  168.     {
  169.         return $this->souscriptions;
  170.     }
  171.     public function addSouscription(Souscription $souscription): self
  172.     {
  173.         if (!$this->souscriptions->contains($souscription)) {
  174.             $this->souscriptions[] = $souscription;
  175.             $souscription->setFacture($this);
  176.         }
  177.         return $this;
  178.     }
  179.     public function removeSouscription(Souscription $souscription): self
  180.     {
  181.         if ($this->souscriptions->contains($souscription)) {
  182.             $this->souscriptions->removeElement($souscription);
  183.             // set the owning side to null (unless already changed)
  184.             if ($souscription->getFacture() === $this) {
  185.                 $souscription->setFacture(null);
  186.             }
  187.         }
  188.         return $this;
  189.     }
  190.     public function getEmail(): ?string
  191.     {
  192.         return $this->email;
  193.     }
  194.     public function setEmail(string $email): self
  195.     {
  196.         $this->email $email;
  197.         return $this;
  198.     }
  199.     public function getNom(): ?string
  200.     {
  201.         return $this->nom;
  202.     }
  203.     public function setNom(string $nom): self
  204.     {
  205.         $this->nom $nom;
  206.         return $this;
  207.     }
  208.     public function getAdresse(): ?string
  209.     {
  210.         return $this->adresse;
  211.     }
  212.     public function setAdresse(string $adresse): self
  213.     {
  214.         $this->adresse $adresse;
  215.         return $this;
  216.     }
  217.     public function getAdresse2(): ?string
  218.     {
  219.         return $this->adresse2;
  220.     }
  221.     public function setAdresse2(?string $adresse2): self
  222.     {
  223.         $this->adresse2 $adresse2;
  224.         return $this;
  225.     }
  226.     public function getPays(): ?string
  227.     {
  228.         return $this->pays;
  229.     }
  230.     public function setPays(string $pays): self
  231.     {
  232.         $this->pays $pays;
  233.         return $this;
  234.     }
  235.     public function getVille(): ?string
  236.     {
  237.         return $this->ville;
  238.     }
  239.     public function setVille(string $ville): self
  240.     {
  241.         $this->ville $ville;
  242.         return $this;
  243.     }
  244.     public function getRegion(): ?string
  245.     {
  246.         return $this->region;
  247.     }
  248.     public function setRegion(string $region): self
  249.     {
  250.         $this->region $region;
  251.         return $this;
  252.     }
  253.     public function getZip(): ?string
  254.     {
  255.         return $this->zip;
  256.     }
  257.     public function setZip(string $zip): self
  258.     {
  259.         $this->zip $zip;
  260.         return $this;
  261.     }
  262.     public function getTel(): ?string
  263.     {
  264.         return $this->tel;
  265.     }
  266.     public function setTel(string $tel): self
  267.     {
  268.         $this->tel $tel;
  269.         return $this;
  270.     }
  271.     public function getStatus(): ?int
  272.     {
  273.         return $this->status;
  274.     }
  275.     public function setStatus(int $status): self
  276.     {
  277.         $this->status $status;
  278.         return $this;
  279.     }
  280.     public function getCode(): ?string
  281.     {
  282.         return $this->code;
  283.     }
  284.     public function setCode(string $code): self
  285.     {
  286.         $this->code $code;
  287.         return $this;
  288.     }
  289. }