<?php

namespace HVCSiteBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Lignefraisforfait
 *
 * @ORM\Table(name="lignefraisforfait", indexes={@ORM\Index(name="idetat", columns={"idetat"}), @ORM\Index(name="idFraisForfait", columns={"idFraisForfait"}), @ORM\Index(name="idComptes", columns={"idFicheFrais"})})
 * @ORM\Entity
 * @ORM\HasLifecycleCallbacks
 */
class Lignefraisforfait
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="date", type="date", nullable=false)
     */
    private $date;

    /**
     * @var integer
     *
     * @ORM\Column(name="quantiterepasmidi", type="integer", nullable=false)
     */
    private $quantiterepasmidi;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="dateCreation", type="date", nullable=false)
     */
    private $datecreation;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="dateModification", type="date", nullable=false)
     */
    private $datemodification;

    /**
     * @var integer
     *
     * @ORM\Column(name="quantiterelaisetape", type="integer", nullable=false)
     */
    private $quantiterelaisetape;

    /**
     * @var integer
     *
     * @ORM\Column(name="quantitenuitee", type="integer", nullable=false)
     */
    private $quantitenuitee;

    /**
     * @var integer
     *
     * @ORM\Column(name="distance", type="integer", nullable=false)
     */
    private $distance;

    /**
     * @var \Fraisforfait
     *
     * @ORM\ManyToOne(targetEntity="Fraisforfait")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="idFraisForfait", referencedColumnName="id")
     * })
     */
    private $idfraisforfait;

    /**
     * @var \Fichefrais
     *
     * @ORM\ManyToOne(targetEntity="Fichefrais")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="idFicheFrais", referencedColumnName="id")
     * })
     */
    private $idfichefrais;

    /**
     * @var \Etat
     *
     * @ORM\ManyToOne(targetEntity="Etat")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="idetat", referencedColumnName="id")
     * })
     */
    private $idetat;


    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set date
     *
     * @param \DateTime $date
     *
     * @return Lignefraisforfait
     */
    public function setDate($date)
    {
        $this->date = $date;

        return $this;
    }

    /**
     * Get date
     *
     * @return \DateTime
     */
    public function getDate()
    {
        return $this->date;
    }

    /**
     * Set quantiterepasmidi
     *
     * @param integer $quantiterepasmidi
     *
     * @return Lignefraisforfait
     */
    public function setQuantiterepasmidi($quantiterepasmidi)
    {
        $this->quantiterepasmidi = $quantiterepasmidi;

        return $this;
    }

    /**
     * Get quantiterepasmidi
     *
     * @return integer
     */
    public function getQuantiterepasmidi()
    {
        return $this->quantiterepasmidi;
    }

    /**
     * Set datecreation
     * @ORM\PrePersist()
     *
     */
    public function setDatecreation()
    {
        $this->datecreation = new \DateTime();

        return $this;
    }

    /**
     * Get datecreation
     *
     * @return \DateTime
     */
    public function getDatecreation()
    {
        return $this->datecreation;
    }

    /**
     * Set datemodification
     *
     * @param \DateTime $datemodification
     *
     * @return Lignefraisforfait
     */
    public function setDatemodification($datemodification)
    {
        $this->datemodification = $datemodification;

        return $this;
    }

    /**
     * Get datemodification
     *
     * @return \DateTime
     */
    public function getDatemodification()
    {
        return $this->datemodification;
    }

    /**
     * Set quantiterelaisetape
     *
     * @param integer $quantiterelaisetape
     *
     * @return Lignefraisforfait
     */
    public function setQuantiterelaisetape($quantiterelaisetape)
    {
        $this->quantiterelaisetape = $quantiterelaisetape;

        return $this;
    }

    /**
     * Get quantiterelaisetape
     *
     * @return integer
     */
    public function getQuantiterelaisetape()
    {
        return $this->quantiterelaisetape;
    }

    /**
     * Set quantitenuitee
     *
     * @param integer $quantitenuitee
     *
     * @return Lignefraisforfait
     */
    public function setQuantitenuitee($quantitenuitee)
    {
        $this->quantitenuitee = $quantitenuitee;

        return $this;
    }

    /**
     * Get quantitenuitee
     *
     * @return integer
     */
    public function getQuantitenuitee()
    {
        return $this->quantitenuitee;
    }

    /**
     * Set distance
     *
     * @param integer $distance
     *
     * @return Lignefraisforfait
     */
    public function setDistance($distance)
    {
        $this->distance = $distance;

        return $this;
    }

    /**
     * Get distance
     *
     * @return integer
     */
    public function getDistance()
    {
        return $this->distance;
    }

    /**
     * Set idfraisforfait
     *
     * @param \HVCSiteBundle\Entity\Fraisforfait $idfraisforfait
     *
     * @return Lignefraisforfait
     */
    public function setIdfraisforfait(\HVCSiteBundle\Entity\Fraisforfait $idfraisforfait = null)
    {
        $this->idfraisforfait = $idfraisforfait;

        return $this;
    }

    /**
     * Get idfraisforfait
     *
     * @return \HVCSiteBundle\Entity\Fraisforfait
     */
    public function getIdfraisforfait()
    {
        return $this->idfraisforfait;
    }

    /**
     * Set idfichefrais
     *
     * @param \HVCSiteBundle\Entity\Fichefrais $idfichefrais
     *
     * @return Lignefraisforfait
     */
    public function setIdfichefrais(\HVCSiteBundle\Entity\Fichefrais $idfichefrais = null)
    {
        $this->idfichefrais = $idfichefrais;

        return $this;
    }

    /**
     * Get idfichefrais
     *
     * @return \HVCSiteBundle\Entity\Fichefrais
     */
    public function getIdfichefrais()
    {
        return $this->idfichefrais;
    }

    /**
     * Set idetat
     *
     * @param \HVCSiteBundle\Entity\Etat $idetat
     *
     * @return Lignefraisforfait
     */
    public function setIdetat(\HVCSiteBundle\Entity\Etat $idetat = null)
    {
        $this->idetat = $idetat;

        return $this;
    }

    /**
     * Get idetat
     *
     * @return \HVCSiteBundle\Entity\Etat
     */
    public function getIdetat()
    {
        return $this->idetat;
    }
}
