src/Entity/Solution.php line 35

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Traits\CitationTrait;
  4. use App\Repository\SolutionRepository;
  5. use Cofondateur\SocleTechniqueBundle\Annotation\CrudField;
  6. use Cofondateur\SocleTechniqueBundle\Traits\PublishableInterface;
  7. use Cofondateur\SocleTechniqueBundle\Traits\PublishableTrait;
  8. use Cofondateur\SocleTechniqueBundle\Traits\SEOInterface;
  9. use Cofondateur\SocleTechniqueBundle\Traits\SEOTrait;
  10. use Cofondateur\SocleTechniqueBundle\Traits\SluggableInterface;
  11. use Cofondateur\SocleTechniqueBundle\Traits\SluggableTrait;
  12. use Doctrine\Common\Collections\ArrayCollection;
  13. use Doctrine\Common\Collections\Collection;
  14. use Doctrine\ORM\Mapping as ORM;
  15. use Symfony\Component\HttpFoundation\File\File;
  16. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  17. use Vich\UploaderBundle\Mapping\Annotation\Uploadable;
  18. use App\Form\SolutionObjectifFormType;
  19. use App\Form\SolutionReferenceFormType;
  20. use Cofondateur\SocleTechniqueBundle\Traits\SortableTrait;
  21. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  22. use Symfony\Component\Validator\Constraints as Assert;
  23. /**
  24.  * @ORM\Entity(repositoryClass=SolutionRepository::class)
  25.  * @UniqueEntity(
  26.  *     fields={"slug"},
  27.  *     errorPath="slug",
  28.  *     message="Ce slug est déjà utilisé pour une autre solution"
  29.  * )
  30.  * @Uploadable()
  31.  */
  32. class Solution implements SEOInterfaceSluggableInterfacePublishableInterface
  33. {
  34.     
  35.     use SEOTrait;
  36.     use CitationTrait;
  37.     use SluggableTrait;
  38.     use SortableTrait;
  39.     use PublishableTrait;
  40.     
  41.     /**
  42.      * @ORM\Id
  43.      * @ORM\GeneratedValue
  44.      * @ORM\Column(type="integer")
  45.      */
  46.     private $id;
  47.     /**
  48.      * @ORM\Column(type="string", length=255)
  49.      * @CrudField(label="nom", index=true)
  50.      */
  51.     private $name;
  52.     /**
  53.      * @ORM\Column(type="string")
  54.      */
  55.     private $coverName;
  56.     /**
  57.      * @ORM\Column(type="integer")
  58.      */
  59.     private $coverSize;
  60.     /**
  61.      * @ORM\Column(type="datetime", nullable=true)
  62.      */
  63.     private $coverUpdatedAt;
  64.     /**
  65.      * @Vich\UploadableField(mapping="default", fileNameProperty="coverName", size="coverSize")
  66.      * @CrudField(label="Visuel principal (bandeau top)")
  67.      */
  68.     private $coverFile;
  69.     /**
  70.      * @ORM\Column(type="string", nullable=true)
  71.      * @CrudField(label="Alt")
  72.      */
  73.     private $coverAlt;
  74.     /**
  75.      * @ORM\Column(type="string", length=255)
  76.      * @CrudField(tab="Première section", label="Sur-titre")
  77.      */
  78.     private $section1SubTitle;
  79.     /**
  80.      * @ORM\Column(type="string", length=255)
  81.      * @CrudField(tab="Première section", label="Titre (mettre entre étoiles pour rendre le titre avec le surlignage Exemple : 'ceci est en bleu *ceci est surligné*')")
  82.      */
  83.     private $section1Title;
  84.     /**
  85.      * @ORM\Column(type="text")
  86.      * @CrudField(tab="Première section", label="Paragraphe", ckeditor=true)
  87.      */
  88.     private $section1Paragraphe;
  89.     /**
  90.      * @ORM\Column(type="string")
  91.      */
  92.     private $section1VisuelLeftName;
  93.     /**
  94.      * @ORM\Column(type="integer")
  95.      */
  96.     private $section1VisuelLeftSize;
  97.     /**
  98.      * @ORM\Column(type="datetime", nullable=true)
  99.      */
  100.     private $section1VisuelLeftUpdatedAt;
  101.     /**
  102.      * @Vich\UploadableField(mapping="default", fileNameProperty="section1VisuelLeftName", size="section1VisuelLeftSize")
  103.      * @CrudField(tab="Première section", label="Visuel de gauche")
  104.      */
  105.     private $section1VisuelLeftFile;
  106.     /**
  107.      * @ORM\Column(type="string", nullable=true)
  108.      * @CrudField(tab="Première section", label="Alt")
  109.      */
  110.     private $section1VisuelLeftAlt;
  111.     /**
  112.      * @ORM\Column(type="string")
  113.      */
  114.     private $section1VisuelBottomName;
  115.     /**
  116.      * @ORM\Column(type="integer")
  117.      */
  118.     private $section1VisuelBottomSize;
  119.     /**
  120.      * @ORM\Column(type="datetime", nullable=true)
  121.      */
  122.     private $section1VisuelBottomUpdatedAt;
  123.     /**
  124.      * @Vich\UploadableField(mapping="default", fileNameProperty="section1VisuelBottomName", size="section1VisuelBottomSize")
  125.      * @CrudField(tab="Première section", label="Visuel du bas")
  126.      */
  127.     private $section1VisuelBottomFile;
  128.     /**
  129.      * @ORM\Column(type="string", nullable=true)
  130.      * @CrudField(tab="Première section", label="Alt")
  131.      */
  132.     private $section1VisuelBottomAlt;
  133.     /**
  134.      * @ORM\Column(type="string", length=255)
  135.      * @CrudField(tab="Seconde section", label="Sur-titre")
  136.      */
  137.     private $section2SubTitle;
  138.     /**
  139.      * @ORM\Column(type="string", length=255)
  140.      * @CrudField(tab="Seconde section", label="Titre (mettre entre étoiles pour rendre le titre avec le surlignage Exemple : 'ceci est en bleu *ceci est surligné*')")
  141.      */
  142.     private $section2Title;
  143.     /**
  144.      * @ORM\Column(type="text")
  145.      * @CrudField(tab="Seconde section", label="Paragraphe", ckeditor=true)
  146.      */
  147.     private $section2Paragraphe;
  148.     /**
  149.      * @ORM\Column(type="string")
  150.      */
  151.     private $section2VisuelName;
  152.     /**
  153.      * @ORM\Column(type="integer")
  154.      */
  155.     private $section2VisuelSize;
  156.     /**
  157.      * @ORM\Column(type="datetime", nullable=true)
  158.      */
  159.     private $section2VisuelUpdatedAt;
  160.     /**
  161.      * @Vich\UploadableField(mapping="default", fileNameProperty="section2VisuelName", size="section2VisuelSize")
  162.      * @CrudField(tab="Seconde section", label="Visuel")
  163.      */
  164.     private $section2VisuelFile;
  165.     /**
  166.      * @ORM\Column(type="string", nullable=true)
  167.      * @CrudField(tab="Seconde section", label="Alt")
  168.      */
  169.     private $section2VisuelAlt;
  170.     /**
  171.      * @ORM\Column(type="string", length=255, nullable=true)
  172.      * @CrudField(label="Sur-titre", tab="Citation")
  173.      */
  174.     private $citationsubTitle;
  175.     /**
  176.      * @ORM\Column(type="string", length=255)
  177.      * @CrudField(tab="Section bleue", label="Sur-titre")
  178.      */
  179.     private $sectionBlueSubTitle;
  180.     /**
  181.      * @ORM\Column(type="string", length=255)
  182.      * @CrudField(tab="Section bleue", label="Titre (mettre entre étoiles pour rendre le titre avec le surlignage Exemple : 'ceci est en bleu *ceci est surligné*')")
  183.      */
  184.     private $sectionBlueTitle;
  185.     /**
  186.      * @ORM\Column(type="text")
  187.      * @CrudField(tab="Section bleue", label="Premier paragraphe", ckeditor=true)
  188.      */
  189.     private $sectionBlueParagraphe1;
  190.     /**
  191.      * @ORM\Column(type="text")
  192.      * @CrudField(tab="Section bleue", label="Second paragraphe", ckeditor=true)
  193.      */
  194.     private $sectionBlueParagraphe2;
  195.     /**
  196.      * @ORM\Column(type="string", length=255)
  197.      * @CrudField(tab="Quatrième Section", label="Sur-titre")
  198.      */
  199.     private $section4SubTitle;
  200.     /**
  201.      * @ORM\Column(type="string", length=255)
  202.      * @CrudField(tab="Quatrième Section", label="Titre (mettre entre étoiles pour rendre le titre avec le surlignage Exemple : 'ceci est en bleu *ceci est surligné*')")
  203.      */
  204.     private $section4Title;
  205.     /**
  206.      * @ORM\Column(type="text")
  207.      * @CrudField(tab="Quatrième Section", label="Paragraphe", ckeditor=true)
  208.      */
  209.     private $section4Paragraphe;
  210.     /**
  211.      * @ORM\Column(type="string")
  212.      */
  213.     private $Section4VisuelRightName;
  214.     /**
  215.      * @ORM\Column(type="integer")
  216.      */
  217.     private $Section4VisuelRightSize;
  218.     /**
  219.      * @ORM\Column(type="datetime", nullable=true)
  220.      */
  221.     private $Section4VisuelRightUpdatedAt;
  222.     /**
  223.      * @Vich\UploadableField(mapping="default", fileNameProperty="Section4VisuelRightName", size="Section4VisuelRightSize")
  224.      * @CrudField(tab="Quatrième Section", label="Visuel de droite")
  225.      */
  226.     private $Section4VisuelRightFile;
  227.     /**
  228.      * @ORM\Column(type="string", nullable=true)
  229.      * @CrudField(tab="Quatrième Section", label="Alt")
  230.      */
  231.     private $Section4VisuelRightAlt;
  232.     /**
  233.      * @ORM\Column(type="string")
  234.      */
  235.     private $Section4VisuelBottomName;
  236.     /**
  237.      * @ORM\Column(type="integer")
  238.      */
  239.     private $Section4VisuelBottomSize;
  240.     /**
  241.      * @ORM\Column(type="datetime", nullable=true)
  242.      */
  243.     private $Section4VisuelBottomUpdatedAt;
  244.     /**
  245.      * @Vich\UploadableField(mapping="default", fileNameProperty="Section4VisuelBottomName", size="Section4VisuelBottomSize")
  246.      * @CrudField(tab="Quatrième Section", label="Visuel du bas")
  247.      */
  248.     private $Section4VisuelBottomFile;
  249.     /**
  250.      * @ORM\Column(type="string", nullable=true)
  251.      * @CrudField(tab="Quatrième Section", label="Alt")
  252.      */
  253.     private $Section4VisuelBottomAlt;
  254.     /**
  255.      * @ORM\Column(type="string", length=255, nullable=true)
  256.      * @CrudField(label="Sur-titre", tab="Actions et objectifs")
  257.      */
  258.     private $objectifSubTitle;
  259.     /**
  260.      * @ORM\Column(type="string", length=255, nullable=true)
  261.      * @CrudField(label="Titre", tab="Actions et objectifs")
  262.      */
  263.     private $objectifTitle;
  264.     /**
  265.      * @ORM\OneToMany(targetEntity=SolutionObjectif::class, mappedBy="solution", cascade={"persist", "remove"})
  266.      * @CrudField(label="Objectifs", formType=SolutionObjectifFormType::class, tab="Actions et objectifs")
  267.      */
  268.     private $solutionObjectifs;
  269.     /**
  270.      * @ORM\ManyToMany(targetEntity=ReferencePublic::class, inversedBy="solutions")
  271.      */
  272.     private $referencesPublics;
  273.     /**
  274.      * @ORM\ManyToMany(targetEntity=ReferencePrive::class, inversedBy="solutions")
  275.      */
  276.     private $referencesPrives;
  277.     /**
  278.      * @ORM\Column(type="string", length=255)
  279.      * @CrudField(tab="Contact", label="Titre")
  280.      */
  281.     private $contactTitle;
  282.     /**
  283.      * @ORM\Column(type="text")
  284.      * @CrudField(tab="Contact", label="Paragraphe")
  285.      */
  286.     private $contactParagraphe;
  287.     /**
  288.      * @ORM\OneToMany(targetEntity=SolutionReference::class, mappedBy="solution", cascade={"persist", "remove"})
  289.      * @ORM\OrderBy({"position" = "ASC"})
  290.      * @CrudField(tab="Références", label="Références", formType=SolutionReferenceFormType::class)
  291.      */
  292.     private $solutionReferences;
  293.     
  294.     
  295.     public function __construct()
  296.     {
  297.         $this->solutionObjectifs = new ArrayCollection();
  298.         $this->referencesPublics = new ArrayCollection();
  299.         $this->referencesPrives = new ArrayCollection();
  300.         $this->solutionReferences = new ArrayCollection();
  301.     }
  302.     
  303.     public function __toString(): string
  304.     {
  305.         return $this->getId() ?? "N/A";
  306.     }
  307.     public function getId(): ?int
  308.     {
  309.         return $this->id;
  310.     }
  311.     public function getCoverName(): ?string
  312.     {
  313.         return $this->coverName;
  314.     }
  315.     public function setCoverName(?string $coverName): self
  316.     {
  317.         $this->coverName $coverName;
  318.         return $this;
  319.     }
  320.     public function getCoverSize(): ?int
  321.     {
  322.         return $this->coverSize;
  323.     }
  324.     public function setCoverSize(?int $coverSize): self
  325.     {
  326.         $this->coverSize $coverSize;
  327.         return $this;
  328.     }
  329.     public function getCoverUpdatedAt(): ?\DateTimeInterface
  330.     {
  331.         return $this->coverUpdatedAt;
  332.     }
  333.     public function setCoverUpdatedAt(?\DateTimeInterface $coverUpdatedAt): self
  334.     {
  335.         $this->coverUpdatedAt $coverUpdatedAt;
  336.         return $this;
  337.     }
  338.     public function getCoverFile(): ?File
  339.     {
  340.         return $this->coverFile;
  341.     }
  342.     public function setCoverFile(?File $coverFile): self
  343.     {
  344.         $this->coverFile $coverFile;
  345.         if (null !== $this->coverFile) {
  346.             $this->coverUpdatedAt = new \DateTimeImmutable();
  347.         }
  348.         return $this;
  349.     }
  350.     public function getCoverAlt(): ?string
  351.     {
  352.         return $this->coverAlt;
  353.     }
  354.     public function setCoverAlt(?string $coverAlt): self
  355.     {
  356.         $this->coverAlt $coverAlt;
  357.         return $this;
  358.     }
  359.     public function getSection1SubTitle(): ?string
  360.     {
  361.         return $this->section1SubTitle;
  362.     }
  363.     public function setSection1SubTitle(string $section1SubTitle): self
  364.     {
  365.         $this->section1SubTitle $section1SubTitle;
  366.         return $this;
  367.     }
  368.     public function getSection1Title(): ?string
  369.     {
  370.         return $this->section1Title;
  371.     }
  372.     public function setSection1Title(string $section1Title): self
  373.     {
  374.         $this->section1Title $section1Title;
  375.         return $this;
  376.     }
  377.     public function getSection1VisuelLeftName(): ?string
  378.     {
  379.         return $this->section1VisuelLeftName;
  380.     }
  381.     public function setSection1VisuelLeftName(?string $section1VisuelLeftName): self
  382.     {
  383.         $this->section1VisuelLeftName $section1VisuelLeftName;
  384.         return $this;
  385.     }
  386.     public function getSection1VisuelLeftSize(): ?int
  387.     {
  388.         return $this->section1VisuelLeftSize;
  389.     }
  390.     public function setSection1VisuelLeftSize(?int $section1VisuelLeftSize): self
  391.     {
  392.         $this->section1VisuelLeftSize $section1VisuelLeftSize;
  393.         return $this;
  394.     }
  395.     public function getSection1VisuelLeftUpdatedAt(): ?\DateTimeInterface
  396.     {
  397.         return $this->section1VisuelLeftUpdatedAt;
  398.     }
  399.     public function setSection1VisuelLeftUpdatedAt(?\DateTimeInterface $section1VisuelLeftUpdatedAt): self
  400.     {
  401.         $this->section1VisuelLeftUpdatedAt $section1VisuelLeftUpdatedAt;
  402.         return $this;
  403.     }
  404.     public function getSection1VisuelLeftFile(): ?File
  405.     {
  406.         return $this->section1VisuelLeftFile;
  407.     }
  408.     public function setSection1VisuelLeftFile(?File $section1VisuelLeftFile): self
  409.     {
  410.         $this->section1VisuelLeftFile $section1VisuelLeftFile;
  411.         if (null !== $this->section1VisuelLeftFile) {
  412.             $this->section1VisuelLeftUpdatedAt = new \DateTimeImmutable();
  413.         }
  414.         return $this;
  415.     }
  416.     public function getSection1VisuelLeftAlt(): ?string
  417.     {
  418.         return $this->section1VisuelLeftAlt;
  419.     }
  420.     public function setSection1VisuelLeftAlt(?string $section1VisuelLeftAlt): self
  421.     {
  422.         $this->section1VisuelLeftAlt $section1VisuelLeftAlt;
  423.         return $this;
  424.     }
  425.     public function getSection1VisuelBottomName(): ?string
  426.     {
  427.         return $this->section1VisuelBottomName;
  428.     }
  429.     public function setSection1VisuelBottomName(?string $section1VisuelBottomName): self
  430.     {
  431.         $this->section1VisuelBottomName $section1VisuelBottomName;
  432.         return $this;
  433.     }
  434.     public function getSection1VisuelBottomSize(): ?int
  435.     {
  436.         return $this->section1VisuelBottomSize;
  437.     }
  438.     public function setSection1VisuelBottomSize(?int $section1VisuelBottomSize): self
  439.     {
  440.         $this->section1VisuelBottomSize $section1VisuelBottomSize;
  441.         return $this;
  442.     }
  443.     public function getSection1VisuelBottomUpdatedAt(): ?\DateTimeInterface
  444.     {
  445.         return $this->section1VisuelBottomUpdatedAt;
  446.     }
  447.     public function setSection1VisuelBottomUpdatedAt(?\DateTimeInterface $section1VisuelBottomUpdatedAt): self
  448.     {
  449.         $this->section1VisuelBottomUpdatedAt $section1VisuelBottomUpdatedAt;
  450.         return $this;
  451.     }
  452.     public function getSection1VisuelBottomFile(): ?File
  453.     {
  454.         return $this->section1VisuelBottomFile;
  455.     }
  456.     public function setSection1VisuelBottomFile(?File $section1VisuelBottomFile): self
  457.     {
  458.         $this->section1VisuelBottomFile $section1VisuelBottomFile;
  459.         if (null !== $this->section1VisuelBottomFile) {
  460.             $this->section1VisuelBottomUpdatedAt = new \DateTimeImmutable();
  461.         }
  462.         return $this;
  463.     }
  464.     public function getSection1VisuelBottomAlt(): ?string
  465.     {
  466.         return $this->section1VisuelBottomAlt;
  467.     }
  468.     public function setSection1VisuelBottomAlt(?string $section1VisuelBottomAlt): self
  469.     {
  470.         $this->section1VisuelBottomAlt $section1VisuelBottomAlt;
  471.         return $this;
  472.     }
  473.     public function getSection1Paragraphe(): ?string
  474.     {
  475.         return $this->section1Paragraphe;
  476.     }
  477.     public function setSection1Paragraphe(string $section1Paragraphe): self
  478.     {
  479.         $this->section1Paragraphe $section1Paragraphe;
  480.         return $this;
  481.     }
  482.     public function getSection2SubTitle(): ?string
  483.     {
  484.         return $this->section2SubTitle;
  485.     }
  486.     public function setSection2SubTitle(string $section2SubTitle): self
  487.     {
  488.         $this->section2SubTitle $section2SubTitle;
  489.         return $this;
  490.     }
  491.     public function getSection2Title(): ?string
  492.     {
  493.         return $this->section2Title;
  494.     }
  495.     public function setSection2Title(string $section2Title): self
  496.     {
  497.         $this->section2Title $section2Title;
  498.         return $this;
  499.     }
  500.     public function getSection2Paragraphe(): ?string
  501.     {
  502.         return $this->section2Paragraphe;
  503.     }
  504.     public function setSection2Paragraphe(string $section2Paragraphe): self
  505.     {
  506.         $this->section2Paragraphe $section2Paragraphe;
  507.         return $this;
  508.     }
  509.     public function getSection2VisuelName(): ?string
  510.     {
  511.         return $this->section2VisuelName;
  512.     }
  513.     public function setSection2VisuelName(?string $section2VisuelName): self
  514.     {
  515.         $this->section2VisuelName $section2VisuelName;
  516.         return $this;
  517.     }
  518.     public function getSection2VisuelSize(): ?int
  519.     {
  520.         return $this->section2VisuelSize;
  521.     }
  522.     public function setSection2VisuelSize(?int $section2VisuelSize): self
  523.     {
  524.         $this->section2VisuelSize $section2VisuelSize;
  525.         return $this;
  526.     }
  527.     public function getSection2VisuelUpdatedAt(): ?\DateTimeInterface
  528.     {
  529.         return $this->section2VisuelUpdatedAt;
  530.     }
  531.     public function setSection2VisuelUpdatedAt(?\DateTimeInterface $section2VisuelUpdatedAt): self
  532.     {
  533.         $this->section2VisuelUpdatedAt $section2VisuelUpdatedAt;
  534.         return $this;
  535.     }
  536.     public function getSection2VisuelFile(): ?File
  537.     {
  538.         return $this->section2VisuelFile;
  539.     }
  540.     public function setSection2VisuelFile(?File $section2VisuelFile): self
  541.     {
  542.         $this->section2VisuelFile $section2VisuelFile;
  543.         if (null !== $this->section2VisuelFile) {
  544.             $this->section2VisuelUpdatedAt = new \DateTimeImmutable();
  545.         }
  546.         return $this;
  547.     }
  548.     public function getSection2VisuelAlt(): ?string
  549.     {
  550.         return $this->section2VisuelAlt;
  551.     }
  552.     public function setSection2VisuelAlt(?string $section2VisuelAlt): self
  553.     {
  554.         $this->section2VisuelAlt $section2VisuelAlt;
  555.         return $this;
  556.     }
  557.     public function getSectionBlueSubTitle(): ?string
  558.     {
  559.         return $this->sectionBlueSubTitle;
  560.     }
  561.     public function setSectionBlueSubTitle(string $sectionBlueSubTitle): self
  562.     {
  563.         $this->sectionBlueSubTitle $sectionBlueSubTitle;
  564.         return $this;
  565.     }
  566.     public function getSectionBlueTitle(): ?string
  567.     {
  568.         return $this->sectionBlueTitle;
  569.     }
  570.     public function setSectionBlueTitle(string $sectionBlueTitle): self
  571.     {
  572.         $this->sectionBlueTitle $sectionBlueTitle;
  573.         return $this;
  574.     }
  575.     public function getSectionBlueParagraphe1(): ?string
  576.     {
  577.         return $this->sectionBlueParagraphe1;
  578.     }
  579.     public function setSectionBlueParagraphe1(string $sectionBlueParagraphe1): self
  580.     {
  581.         $this->sectionBlueParagraphe1 $sectionBlueParagraphe1;
  582.         return $this;
  583.     }
  584.     public function getSectionBlueParagraphe2(): ?string
  585.     {
  586.         return $this->sectionBlueParagraphe2;
  587.     }
  588.     public function setSectionBlueParagraphe2(string $sectionBlueParagraphe2): self
  589.     {
  590.         $this->sectionBlueParagraphe2 $sectionBlueParagraphe2;
  591.         return $this;
  592.     }
  593.     public function getSection4SubTitle(): ?string
  594.     {
  595.         return $this->section4SubTitle;
  596.     }
  597.     public function setSection4SubTitle(string $section4SubTitle): self
  598.     {
  599.         $this->section4SubTitle $section4SubTitle;
  600.         return $this;
  601.     }
  602.     public function getSection4Title(): ?string
  603.     {
  604.         return $this->section4Title;
  605.     }
  606.     public function setSection4Title(string $section4Title): self
  607.     {
  608.         $this->section4Title $section4Title;
  609.         return $this;
  610.     }
  611.     public function getSection4Paragraphe(): ?string
  612.     {
  613.         return $this->section4Paragraphe;
  614.     }
  615.     public function setSection4Paragraphe(string $section4Paragraphe): self
  616.     {
  617.         $this->section4Paragraphe $section4Paragraphe;
  618.         return $this;
  619.     }
  620.     public function getSection4VisuelRightName(): ?string
  621.     {
  622.         return $this->Section4VisuelRightName;
  623.     }
  624.     public function setSection4VisuelRightName(?string $Section4VisuelRightName): self
  625.     {
  626.         $this->Section4VisuelRightName $Section4VisuelRightName;
  627.         return $this;
  628.     }
  629.     public function getSection4VisuelRightSize(): ?int
  630.     {
  631.         return $this->Section4VisuelRightSize;
  632.     }
  633.     public function setSection4VisuelRightSize(?int $Section4VisuelRightSize): self
  634.     {
  635.         $this->Section4VisuelRightSize $Section4VisuelRightSize;
  636.         return $this;
  637.     }
  638.     public function getSection4VisuelRightUpdatedAt(): ?\DateTimeInterface
  639.     {
  640.         return $this->Section4VisuelRightUpdatedAt;
  641.     }
  642.     public function setSection4VisuelRightUpdatedAt(?\DateTimeInterface $Section4VisuelRightUpdatedAt): self
  643.     {
  644.         $this->Section4VisuelRightUpdatedAt $Section4VisuelRightUpdatedAt;
  645.         return $this;
  646.     }
  647.     public function getSection4VisuelRightFile(): ?File
  648.     {
  649.         return $this->Section4VisuelRightFile;
  650.     }
  651.     public function setSection4VisuelRightFile(?File $Section4VisuelRightFile): self
  652.     {
  653.         $this->Section4VisuelRightFile $Section4VisuelRightFile;
  654.         if (null !== $this->Section4VisuelRightFile) {
  655.             $this->Section4VisuelRightUpdatedAt = new \DateTimeImmutable();
  656.         }
  657.         return $this;
  658.     }
  659.     public function getSection4VisuelRightAlt(): ?string
  660.     {
  661.         return $this->Section4VisuelRightAlt;
  662.     }
  663.     public function setSection4VisuelRightAlt(?string $Section4VisuelRightAlt): self
  664.     {
  665.         $this->Section4VisuelRightAlt $Section4VisuelRightAlt;
  666.         return $this;
  667.     }
  668.     public function getSection4VisuelBottomName(): ?string
  669.     {
  670.         return $this->Section4VisuelBottomName;
  671.     }
  672.     public function setSection4VisuelBottomName(?string $Section4VisuelBottomName): self
  673.     {
  674.         $this->Section4VisuelBottomName $Section4VisuelBottomName;
  675.         return $this;
  676.     }
  677.     public function getSection4VisuelBottomSize(): ?int
  678.     {
  679.         return $this->Section4VisuelBottomSize;
  680.     }
  681.     public function setSection4VisuelBottomSize(?int $Section4VisuelBottomSize): self
  682.     {
  683.         $this->Section4VisuelBottomSize $Section4VisuelBottomSize;
  684.         return $this;
  685.     }
  686.     public function getSection4VisuelBottomUpdatedAt(): ?\DateTimeInterface
  687.     {
  688.         return $this->Section4VisuelBottomUpdatedAt;
  689.     }
  690.     public function setSection4VisuelBottomUpdatedAt(?\DateTimeInterface $Section4VisuelBottomUpdatedAt): self
  691.     {
  692.         $this->Section4VisuelBottomUpdatedAt $Section4VisuelBottomUpdatedAt;
  693.         return $this;
  694.     }
  695.     public function getSection4VisuelBottomFile(): ?File
  696.     {
  697.         return $this->Section4VisuelBottomFile;
  698.     }
  699.     public function setSection4VisuelBottomFile(?File $Section4VisuelBottomFile): self
  700.     {
  701.         $this->Section4VisuelBottomFile $Section4VisuelBottomFile;
  702.         if (null !== $this->Section4VisuelBottomFile) {
  703.             $this->Section4VisuelBottomUpdatedAt = new \DateTimeImmutable();
  704.         }
  705.         return $this;
  706.     }
  707.     public function getSection4VisuelBottomAlt(): ?string
  708.     {
  709.         return $this->Section4VisuelBottomAlt;
  710.     }
  711.     public function setSection4VisuelBottomAlt(?string $Section4VisuelBottomAlt): self
  712.     {
  713.         $this->Section4VisuelBottomAlt $Section4VisuelBottomAlt;
  714.         return $this;
  715.     }
  716.     /**
  717.      * @return Collection<int, SolutionObjectif>
  718.      */
  719.     public function getSolutionObjectifs(): Collection
  720.     {
  721.         return $this->solutionObjectifs;
  722.     }
  723.     public function addSolutionObjectif(SolutionObjectif $solutionObjectif): self
  724.     {
  725.         if (!$this->solutionObjectifs->contains($solutionObjectif)) {
  726.             $this->solutionObjectifs[] = $solutionObjectif;
  727.             $solutionObjectif->setSolution($this);
  728.         }
  729.         return $this;
  730.     }
  731.     public function removeSolutionObjectif(SolutionObjectif $solutionObjectif): self
  732.     {
  733.         if ($this->solutionObjectifs->removeElement($solutionObjectif)) {
  734.             // set the owning side to null (unless already changed)
  735.             if ($solutionObjectif->getSolution() === $this) {
  736.                 $solutionObjectif->setSolution(null);
  737.             }
  738.         }
  739.         return $this;
  740.     }
  741.     public function getContactTitle(): ?string
  742.     {
  743.         return $this->contactTitle;
  744.     }
  745.     public function setContactTitle(string $contactTitle): self
  746.     {
  747.         $this->contactTitle $contactTitle;
  748.         return $this;
  749.     }
  750.     public function getContactParagraphe(): ?string
  751.     {
  752.         return $this->contactParagraphe;
  753.     }
  754.     public function setContactParagraphe(string $contactParagraphe): self
  755.     {
  756.         $this->contactParagraphe $contactParagraphe;
  757.         return $this;
  758.     }
  759.     /**
  760.      * @return Collection<int, ReferencePublic>
  761.      */
  762.     public function getReferencesPublics(): Collection
  763.     {
  764.         return $this->referencesPublics;
  765.     }
  766.     public function addReferencesPublic(ReferencePublic $referencesPublic): self
  767.     {
  768.         if (!$this->referencesPublics->contains($referencesPublic)) {
  769.             $this->referencesPublics[] = $referencesPublic;
  770.         }
  771.         return $this;
  772.     }
  773.     public function removeReferencesPublic(ReferencePublic $referencesPublic): self
  774.     {
  775.         $this->referencesPublics->removeElement($referencesPublic);
  776.         return $this;
  777.     }
  778.     /**
  779.      * @return Collection<int, ReferencePrive>
  780.      */
  781.     public function getReferencesPrives(): Collection
  782.     {
  783.         return $this->referencesPrives;
  784.     }
  785.     public function addReferencesPrife(ReferencePrive $referencesPrife): self
  786.     {
  787.         if (!$this->referencesPrives->contains($referencesPrife)) {
  788.             $this->referencesPrives[] = $referencesPrife;
  789.         }
  790.         return $this;
  791.     }
  792.     public function removeReferencesPrife(ReferencePrive $referencesPrife): self
  793.     {
  794.         $this->referencesPrives->removeElement($referencesPrife);
  795.         return $this;
  796.     }
  797.     public function getname(): ?string
  798.     {
  799.         return $this->name;
  800.     }
  801.     public function setname(string $name): self
  802.     {
  803.         $this->name $name;
  804.         return $this;
  805.     }
  806.     public function getObjectifSubTitle(): ?string
  807.     {
  808.         return $this->objectifSubTitle;
  809.     }
  810.     public function setObjectifSubTitle(?string $objectifSubTitle): self
  811.     {
  812.         $this->objectifSubTitle $objectifSubTitle;
  813.         return $this;
  814.     }
  815.     public function getObjectifTitle(): ?string
  816.     {
  817.         return $this->objectifTitle;
  818.     }
  819.     public function setObjectifTitle(?string $objectifTitle): self
  820.     {
  821.         $this->objectifTitle $objectifTitle;
  822.         return $this;
  823.     }
  824.     /**
  825.      * @return Collection<int, SolutionReference>
  826.      */
  827.     public function getSolutionReferences(): Collection
  828.     {
  829.         return $this->solutionReferences;
  830.     }
  831.     public function addSolutionReference(SolutionReference $solutionReference): self
  832.     {
  833.         if (!$this->solutionReferences->contains($solutionReference)) {
  834.             $this->solutionReferences[] = $solutionReference;
  835.             $solutionReference->setSolution($this);
  836.         }
  837.         return $this;
  838.     }
  839.     public function removeSolutionReference(SolutionReference $solutionReference): self
  840.     {
  841.         if ($this->solutionReferences->removeElement($solutionReference)) {
  842.             // set the owning side to null (unless already changed)
  843.             if ($solutionReference->getSolution() === $this) {
  844.                 $solutionReference->setSolution(null);
  845.             }
  846.         }
  847.         return $this;
  848.     }
  849. }