%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/emtnaeewxm/www/src/EEM/AchatBundle/Entity/
Upload File :
Create Path :
Current File : /home/emtnaeewxm/www/src/EEM/AchatBundle/Entity/Reglement.php

<?php

namespace EEM\AchatBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Context\ExecutionContextInterface;


/**
 * Reglement
 *
 * @ORM\Table(name="reglement")
 * @ORM\Entity(repositoryClass="EEM\AchatBundle\Repository\ReglementRepository")
 * @ORM\HasLifecycleCallbacks()
 */
class Reglement
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

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

    /**
     * @var string
     *
     * @ORM\Column(name="type_reglement", type="string", length=255, nullable=true)
     */
    private $typeReglement;

    /**
     * @var string
     *
     * @ORM\Column(name="montant", type="decimal", precision=10, scale=3, nullable=true)
     * @Assert\NotBlank(message="Le montant est obligatoire")
     */
    private $montant;

    /**
     * @var string
     *
     * @ORM\Column(name="num_cheque", type="string", length=255, nullable=true)
     */
    private $numCheque;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="date_cheque", type="datetime", nullable=true)
     */
    private $dateCheque;

    /**
     * @var string
     *
     * @ORM\ManyToOne(targetEntity="EEM\AchatBundle\Entity\Achat" , inversedBy="reglements")
     * @ORM\JoinColumn(name="achat_id")
     */
    private $achat;


    public function liste_type_reglement()
    {
        return [
            'espece' => 'Espèce',
            'cheque' => 'Chèque',
        ];
    }

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

    /**
     * Set typeReglement
     *
     * @param string $typeReglement
     *
     * @return Reglement
     */
    public function setTypeReglement($typeReglement)
    {
        $this->typeReglement = $typeReglement;

        return $this;
    }

    /**
     * Get typeReglement
     *
     * @return string
     */
    public function getTypeReglement()
    {
        return $this->typeReglement;
    }

    /**
     * Set montant
     *
     * @param string $montant
     *
     * @return Reglement
     */
    public function setMontant($montant)
    {
        $this->montant = $montant;

        return $this;
    }

    /**
     * Get montant
     *
     * @return string
     */
    public function getMontant()
    {
        return $this->montant;
    }

    /**
     * Set numCheque
     *
     * @param string $numCheque
     *
     * @return Reglement
     */
    public function setNumCheque($numCheque)
    {
        $this->numCheque = $numCheque;

        return $this;
    }

    /**
     * Get numCheque
     *
     * @return string
     */
    public function getNumCheque()
    {
        return $this->numCheque;
    }

    /**
     * Set dateCheque
     *
     * @param \DateTime $dateCheque
     *
     * @return Reglement
     */
    public function setDateCheque($dateCheque)
    {
        $this->dateCheque = $dateCheque;

        return $this;
    }

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

    /**
     * @Assert\Callback
     */
    public function validate(ExecutionContextInterface $context)
    {
        if ($this->getTypeReglement() == 'cheque') {
            if (empty($this->getNumCheque())) {
                $context->buildViolation("Le numéro de chèque est obligatoire.")
                    ->atPath('numCheque')
                    ->addViolation();
            }
            if (empty($this->getDateCheque())) {
                $context->buildViolation("La date d'écheance est obligatoire.")
                    ->atPath('dateCheque')
                    ->addViolation();
            }
        }
    }


    /**
     * Set achat
     *
     * @param \EEM\AchatBundle\Entity\Achat $achat
     *
     * @return Reglement
     */
    public function setAchat(\EEM\AchatBundle\Entity\Achat $achat = null)
    {
        $this->achat = $achat;

        return $this;
    }

    /**
     * Get achat
     *
     * @return \EEM\AchatBundle\Entity\Achat
     */
    public function getAchat()
    {
        return $this->achat;
    }

    /**
     * Set dateReglement
     *
     * @param \DateTime $dateReglement
     *
     * @return Reglement
     */
    public function setDateReglement($dateReglement)
    {
        $this->dateReglement = $dateReglement;

        return $this;
    }

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

Zerion Mini Shell 1.0