<?php

namespace App\Entity;

use App\Repository\RapportRepository;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass=RapportRepository::class)
 */
class Rapport
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity=Year::class, inversedBy="rapports")
     * @ORM\JoinColumn(nullable=false)
     */
    private $year;

    /**
     * @ORM\ManyToOne(targetEntity=Desagregation::class)
     */
    private $desagregation;

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $modalite;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $type;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $resume;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $introduction;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $methodologie;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $performance_globale;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $difficultes;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $solutions;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $recommandations;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $conclusion;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getYear(): ?Year
    {
        return $this->year;
    }

    public function setYear(?Year $year): self
    {
        $this->year = $year;

        return $this;
    }

    public function getDesagregation(): ?Desagregation
    {
        return $this->desagregation;
    }

    public function setDesagregation(?Desagregation $desagregation): self
    {
        $this->desagregation = $desagregation;

        return $this;
    }

    public function getType(): ?string
    {
        return $this->type;
    }

    public function setType(string $type): self
    {
        $this->type = $type;

        return $this;
    }

    public function getResume(): ?string
    {
        return $this->resume;
    }

    public function setResume(?string $resume): self
    {
        $this->resume = $resume;

        return $this;
    }

    public function getIntroduction(): ?string
    {
        return $this->introduction;
    }

    public function setIntroduction(?string $introduction): self
    {
        $this->introduction = $introduction;

        return $this;
    }

    public function getMethodologie(): ?string
    {
        return $this->methodologie;
    }

    public function setMethodologie(?string $methodologie): self
    {
        $this->methodologie = $methodologie;

        return $this;
    }

    public function getModalite(): ?int
    {
        return $this->modalite;
    }

    public function setModalite(?int $modalite): self
    {
        $this->modalite = $modalite;

        return $this;
    }

    public function getPerformanceGlobale(): ?string
    {
        return $this->performance_globale;
    }

    public function setPerformanceGlobale(?string $performance_globale): self
    {
        $this->performance_globale = $performance_globale;

        return $this;
    }

    public function getDifficultes(): ?string
    {
        return $this->difficultes;
    }

    public function setDifficultes(?string $difficultes): self
    {
        $this->difficultes = $difficultes;

        return $this;
    }

    public function getSolutions(): ?string
    {
        return $this->solutions;
    }

    public function setSolutions(?string $solutions): self
    {
        $this->solutions = $solutions;

        return $this;
    }

    public function getRecommandations(): ?string
    {
        return $this->recommandations;
    }

    public function setRecommandations(?string $recommandations): self
    {
        $this->recommandations = $recommandations;

        return $this;
    }

    public function getConclusion(): ?string
    {
        return $this->conclusion;
    }

    public function setConclusion(?string $conclusion): self
    {
        $this->conclusion = $conclusion;

        return $this;
    }
}
