<?php
namespace App\Entity;
use App\Repository\FactureProduitRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=FactureProduitRepository::class)
*/
class FactureProduit
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Produit::class, inversedBy="factureProduits")
*/
private $produit;
/**
* @ORM\ManyToOne(targetEntity=Facture::class, inversedBy="factureProduits")
*/
private $facture;
/**
* @ORM\Column(type="integer")
*/
private $quantite;
/**
* @ORM\Column(type="string", length=255)
*/
private $imei;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $prix;
public function getId(): ?int
{
return $this->id;
}
public function getProduit(): ?Produit
{
return $this->produit;
}
public function setProduit(?Produit $produit): self
{
$this->produit = $produit;
return $this;
}
public function getFacture(): ?Facture
{
return $this->facture;
}
public function setFacture(?Facture $facture): self
{
$this->facture = $facture;
return $this;
}
public function getQuantite(): ?int
{
return $this->quantite;
}
public function setQuantite(int $quantite): self
{
$this->quantite = $quantite;
return $this;
}
public function getImei(): ?string
{
return $this->imei;
}
public function setImei(string $imei): self
{
$this->imei = $imei;
return $this;
}
public function getPrix(): ?float
{
return $this->prix;
}
public function setPrix(?float $prix): self
{
$this->prix = $prix;
return $this;
}
public static function getNbVente(\DateTimeInterface $dateDebut, \DateTimeInterface $dateFin, FactureProduitRepository $repository, int $produitId): int
{
return $repository->countNbVenteBetweenDates($dateDebut, $dateFin, $produitId);
}
public static function getNbVenteStringDates(string $dateDebut, string $dateFin, FactureProduitRepository $repository, int $produitId): int
{
return $repository->countNbVenteBetweenStringDates($dateDebut, $dateFin, $produitId);
}
}