src/Entity/Client.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Gedmo\Timestampable\Traits\Timestampable;
  7. use Gedmo\Timestampable\Traits\TimestampableEntity;
  8. use Symfony\Component\Serializer\Annotation\Groups;
  9. use App\Entity\Client\BillingInfos;
  10. use App\Entity\Client\FamilyMember;
  11. use Gedmo\Mapping\Annotation as Gedmo;
  12. /**
  13.  * Client
  14.  *
  15.  * @ORM\Table(name="client")
  16.  * @ORM\Entity
  17.  */
  18. class Client
  19. {
  20.     const STATUS_PROSPECT 'Prospect';
  21.     const STATUS_ACTIF 'Actif';
  22.     const STATUS_INACTIF 'Inactif';
  23.     const STATUS_PARTI 'Parti';
  24.     const TYPE_TUTEUR_TUTEUR 'tuteur';
  25.     const TYPE_TUTEUR_LEGAL 'legal';
  26.     /**
  27.      * @var int
  28.      *
  29.      * @ORM\Column(name="id", type="integer", nullable=false)
  30.      * @ORM\Id
  31.      * @ORM\GeneratedValue(strategy="IDENTITY")
  32.      */
  33.     private $id;
  34.     /**
  35.      * @var Site
  36.      *
  37.      * @ORM\ManyToOne(targetEntity="Site")
  38.      * @ORM\JoinColumn(name="site_id", referencedColumnName="id")
  39.      */
  40.     private $site;
  41.     /**
  42.      * @var string
  43.      *
  44.      * @ORM\Column(name="identifier", type="string", length=500, nullable=true)
  45.      */
  46.     private $identifier;
  47.     /**
  48.      * @Groups("rdv")
  49.      * @var string
  50.      *
  51.      * @ORM\Column(name="firstname", type="string", length=500, nullable=true)
  52.      */
  53.     private $firstname;
  54.     /**
  55.      * @Groups("rdv")
  56.      * @var string
  57.      *
  58.      * @ORM\Column(name="numeroClient", type="string", length=500, nullable=true)
  59.      */
  60.     private $numClient;
  61.     /**
  62.      * @var string
  63.      *
  64.      * @ORM\Column(name="civilite", type="string", nullable=true)
  65.      */
  66.     private $civilite;
  67.     /**
  68.      * @Groups("rdv")
  69.      * @var string
  70.      *
  71.      * @ORM\Column(name="lastname", type="string", length=500, nullable=true)
  72.      */
  73.     private $lastname;
  74.     /**
  75.      * @var string|null
  76.      *
  77.      * @ORM\Column(name="birthday", type="string", nullable=true)
  78.      */
  79.     private $birthday;
  80.     /**
  81.      * @var string|null
  82.      *
  83.      * @ORM\Column(name="deathday", type="string", nullable=true)
  84.      */
  85.     private $deathday;
  86.     /**
  87.      * @var string|null
  88.      *
  89.      * @ORM\Column(name="gender", type="string", length=255, nullable=true)
  90.      */
  91.     private $gender;
  92.     /**
  93.      * @var string|null
  94.      *
  95.      * @ORM\Column(name="email", type="string", length=255, nullable=true)
  96.      */
  97.     private $email;
  98.     /**
  99.      * @var string|null
  100.      *
  101.      * @ORM\Column(name="phone", type="string", length=255, nullable=true)
  102.      */
  103.     private $phone;
  104.     /**
  105.      * @var string|null
  106.      *
  107.      * @ORM\Column(name="comments", type="text", length=0, nullable=true)
  108.      */
  109.     private $comments;
  110.     /**
  111.      * @var string|null
  112.      *
  113.      * @ORM\Column(name="suivi_client", type="text", length=0, nullable=true)
  114.      */
  115.     private $suiviClient;
  116.     /**
  117.      * @var string|null
  118.      * @Groups("rdv")
  119.      * @ORM\Column(name="room_number", type="string", length=255, nullable=true)
  120.      */
  121.     private $roomNumber;
  122.     /**
  123.      * @var string|null
  124.      *
  125.      * @ORM\Column(name="building_room", type="string", length=255, nullable=true)
  126.      */
  127.     private $buildingRoom;
  128.     /**
  129.      * @var string|null
  130.      *
  131.      * @ORM\Column(name="stairs", type="string", length=255, nullable=true)
  132.      */
  133.     private $stairs;
  134.     /**
  135.      * @var string|null
  136.      *
  137.      * @ORM\Column(name="nom_tuteur", type="string", nullable=true)
  138.      */
  139.     private $nomTuteur;
  140.     /**
  141.      * @var string|null
  142.      *
  143.      * @ORM\Column(name="civilite_tuteur", type="string", nullable=true)
  144.      */
  145.     private $civiliteTuteur;
  146.     /**
  147.      * @var string|null
  148.      *
  149.      * @ORM\Column(name="prenom_tuteur", type="string", nullable=true)
  150.      */
  151.     private $prenomTuteur;
  152.     /**
  153.      * @var string|null
  154.      *
  155.      * @ORM\Column(name="email_tuteur", type="string", nullable=true)
  156.      */
  157.     private $emailTuteur;
  158.     /**
  159.      * @var string|null
  160.      *
  161.      * @ORM\Column(name="email_notaire", type="string", nullable=true)
  162.      */
  163.     private $emailNotaire;
  164.     /**
  165.      * @var string|null
  166.      *
  167.      * @ORM\Column(name="num_tuteur", type="string", nullable=true)
  168.      */
  169.     private $numeroTuteur;
  170.     /**
  171.      * @var string|null
  172.      *
  173.      * @ORM\Column(name="type_tuteur", type="string", nullable=true)
  174.      */
  175.     private $typeTuteur;
  176.     /**
  177.      * @ORM\Column(type="simple_array", nullable=true)
  178.      */
  179.     private $daysOfWeek = [];
  180.     /**
  181.      * @var string|null
  182.      *
  183.      * @ORM\Column(name="comment_tuteur", type="string", nullable=true)
  184.      */
  185.     private $commentTuteur;
  186.     /**
  187.      * @var string|null
  188.      *
  189.      * @ORM\Column(name="consignes_client", type="string", nullable=true)
  190.      */
  191.     private $consignesClient;
  192.     /**
  193.      * @var string|null
  194.      *
  195.      * @ORM\Column(name="status_prospect", type="string", nullable=true)
  196.      */
  197.     private $statusProspect;
  198.     /**
  199.      * @var string|null
  200.      *
  201.      * @ORM\Column(name="profil_client", type="string", nullable=true)
  202.      */
  203.     private $profilClient;
  204.     /**
  205.      * @var string|null
  206.      *
  207.      * @ORM\Column(name="address_tuteur", type="string", nullable=true)
  208.      */
  209.     private $addressTuteur;
  210.     /**
  211.      * @var string|null
  212.      *
  213.      * @ORM\Column(name="address_tuteur2", type="string", nullable=true)
  214.      */
  215.     private $addressTuteur2;
  216.     /**
  217.      * @var string|null
  218.      *
  219.      * @ORM\Column(name="city_tuteur", type="string", nullable=true)
  220.      */
  221.     private $city;
  222.     /**
  223.      * @var string|null
  224.      *
  225.      * @ORM\Column(name="zipcode", type="string", nullable=true)
  226.      */
  227.     private $zipcode;
  228.     /**
  229.      * @var Contract
  230.      *
  231.      * @ORM\OneToMany(targetEntity="Contract", mappedBy="client", cascade={"persist"})
  232.      */
  233.     private $contract;
  234.     /**
  235.      * @var Contract
  236.      *
  237.      * @ORM\OneToMany(targetEntity=FamilyMember::class, mappedBy="client", cascade={"persist"})
  238.      */
  239.     private $familyMembers;
  240.     /**
  241.      * @var Contact
  242.      *
  243.      * @ORM\ManyToOne(targetEntity="Contact", cascade={"persist"})
  244.      * @ORM\JoinColumn(name="contact_id", referencedColumnName="id")
  245.      */
  246.     private $contact;
  247.     /**
  248.      * @var BillingInfos
  249.      *
  250.      * @ORM\ManyToOne(targetEntity=BillingInfos::class, cascade={"persist"})
  251.      * @ORM\JoinColumn(name="billing_infos_id", referencedColumnName="id")
  252.      */
  253.     private $billingInfos;
  254.     /**
  255.      * @ORM\ManyToOne(targetEntity=User::class, cascade={"persist"})
  256.      * @ORM\JoinColumn(name="creator_id", referencedColumnName="id")
  257.      */
  258.     protected $creator;
  259.     /**
  260.      * @ORM\ManyToOne(targetEntity=User::class, cascade={"persist"})
  261.      * @ORM\JoinColumn(name="maj_id", referencedColumnName="id")
  262.      */
  263.     protected $maj;
  264.     /**
  265.      * @ORM\OneToMany(targetEntity="App\Entity\Reglement", mappedBy="client")
  266.      */
  267.     private $reglements;
  268.     /**
  269.      * @ORM\OneToMany(targetEntity="App\Entity\Billing", mappedBy="client")
  270.      */
  271.     private $billings;
  272.     /**
  273.      * @var \DateTime $created
  274.      *
  275.      * @Gedmo\Timestampable(on="create")
  276.      * @ORM\Column(type="datetime", options={"default"="CURRENT_TIMESTAMP"})
  277.      */
  278.     private $created;
  279.     /**
  280.      * @var \DateTime $updated
  281.      *
  282.      * @Gedmo\Timestampable(on="update")
  283.      * @ORM\Column(type="datetime", options={"default"="CURRENT_TIMESTAMP"})
  284.      */
  285.     private $updated;
  286.     /**
  287.      * @ORM\Column(type="boolean", nullable=true)
  288.      */
  289.     private $privacyPolicyAccepted false;
  290.     /**
  291.      * @ORM\Column(type="boolean", nullable=true)
  292.      */
  293.     private $emailAgreement false;
  294.     /**
  295.      * @ORM\Column(type="boolean", nullable=true)
  296.      */
  297.     private $cgvAccepted false;
  298.     /**
  299.      * @ORM\Column(type="boolean", nullable=true)
  300.      */
  301.     private $hasSignedEasyCollect false;
  302.     /**
  303.      * @ORM\OneToMany(targetEntity=Recurrence::class, mappedBy="client")
  304.      */
  305.     private $recurrences;
  306.     /**
  307.      * @ORM\Column(type="string", length=255, nullable=true)
  308.      */
  309.     private $addressFacturation;
  310.     /**
  311.      * @ORM\Column(type="string", length=255, nullable=true)
  312.      */
  313.     private $ComplementAdresseFacturation;
  314.     /**
  315.      * @ORM\Column(type="string", length=255, nullable=true)
  316.      */
  317.     private $codePostalFacturation;
  318.     /**
  319.      * @ORM\Column(type="string", length=255, nullable=true)
  320.      */
  321.     private $villeFacturation;
  322.     /**
  323.      * @ORM\Column(type="string", length=255, nullable=true)
  324.      */
  325.     private $nomFacturation;
  326.     /**
  327.      * @ORM\Column(type="string", length=255, nullable=true)
  328.      */
  329.     private $prenomFacturation;
  330.     /**
  331.      * @ORM\Column(type="string", length=255, nullable=true)
  332.      */
  333.     private $civiliteFacturation;
  334.     public function __toString()
  335.                                                                                   {
  336.                                                                                       return strtoupper($this->getLastname()) . " " ucfirst($this->getFirstname());
  337.                                                                                   }
  338.     public function __construct()
  339.                                                                                   {
  340.                                                                                       $this->contract = new ArrayCollection();
  341.                                                                                       $this->familyMembers = new ArrayCollection();
  342.                                                                                       $this->reglements = new ArrayCollection();
  343.                                                                                       $this->billings = new ArrayCollection();
  344.                                                                                 $this->recurrences = new ArrayCollection();
  345.                                                                                   }
  346.     public function getId(): ?int
  347.                                                                                   {
  348.                                                                                       return $this->id;
  349.                                                                                   }
  350.     public function getFirstname(): ?string
  351.                                                                                   {
  352.                                                                                       return $this->firstname;
  353.                                                                                   }
  354.     public function setFirstname(?string $firstname): self
  355.                                                                                   {
  356.                                                                                       $this->firstname $firstname;
  357.                                                                                       return $this;
  358.                                                                                   }
  359.     public function getLastname(): ?string
  360.                                                                                   {
  361.                                                                                       return $this->lastname;
  362.                                                                                   }
  363.     public function setLastname(?string $lastname): self
  364.                                                                                   {
  365.                                                                                       $this->lastname $lastname;
  366.                                                                                       return $this;
  367.                                                                                   }
  368.     public function getBirthday(): ?string
  369.                                                                                   {
  370.                                                                                       return $this->birthday;
  371.                                                                                   }
  372.     public function setBirthday(?string $birthday): self
  373.                                                                                   {
  374.                                                                                       $this->birthday $birthday;
  375.                                                                                       return $this;
  376.                                                                                   }
  377.     public function getDeathday(): ?string
  378.                                                                                   {
  379.                                                                                       return $this->deathday;
  380.                                                                                   }
  381.     public function setDeathday(?string $deathday): self
  382.                                                                                   {
  383.                                                                                       $this->deathday $deathday;
  384.                                                                                       return $this;
  385.                                                                                   }
  386.     public function getGender(): ?string
  387.                                                                                   {
  388.                                                                                       return $this->gender;
  389.                                                                                   }
  390.     public function setGender(?string $gender): self
  391.                                                                                   {
  392.                                                                                       $this->gender $gender;
  393.                                                                                       return $this;
  394.                                                                                   }
  395.     public function getEmail(): ?string
  396.                                                                                   {
  397.                                                                                       return $this->email;
  398.                                                                                   }
  399.     public function setEmail(?string $email): self
  400.                                                                                   {
  401.                                                                                       $this->email $email;
  402.                                                                                       return $this;
  403.                                                                                   }
  404.     public function getPhone(): ?string
  405.                                                                                   {
  406.                                                                                       return $this->phone;
  407.                                                                                   }
  408.     public function setPhone($phone): self
  409.                                                                                   {
  410.                                                                                       $this->phone $phone;
  411.                                                                                       return $this;
  412.                                                                                   }
  413.     public function getComments(): ?string
  414.                                                                                   {
  415.                                                                                       return $this->comments;
  416.                                                                                   }
  417.     public function setComments(?string $comments): self
  418.                                                                                   {
  419.                                                                                       $this->comments $comments;
  420.                                                                                       return $this;
  421.                                                                                   }
  422.     public function getRoomNumber(): ?string
  423.                                                                                   {
  424.                                                                                       return $this->roomNumber;
  425.                                                                                   }
  426.     public function setRoomNumber(?string $roomNumber): self
  427.                                                                                   {
  428.                                                                                       $this->roomNumber $roomNumber;
  429.                                                                                       return $this;
  430.                                                                                   }
  431.     public function getBuildingRoom(): ?string
  432.                                                                                   {
  433.                                                                                       return $this->buildingRoom;
  434.                                                                                   }
  435.     public function setBuildingRoom(?string $buildingRoom): self
  436.                                                                                   {
  437.                                                                                       $this->buildingRoom $buildingRoom;
  438.                                                                                       return $this;
  439.                                                                                   }
  440.     public function getStairs(): ?string
  441.                                                                                   {
  442.                                                                                       return $this->stairs;
  443.                                                                                   }
  444.     public function setStairs(?string $stairs): self
  445.                                                                                   {
  446.                                                                                       $this->stairs $stairs;
  447.                                                                                       return $this;
  448.                                                                                   }
  449.     public function getContact(): ?Contact
  450.                                                                                   {
  451.                                                                                       return $this->contact;
  452.                                                                                   }
  453.     public function setContact(?Contact $contact): self
  454.                                                                                   {
  455.                                                                                       $this->contact $contact;
  456.                                                                                       return $this;
  457.                                                                                   }
  458.     /**
  459.      * @return string
  460.      */
  461.     public function getCivilite(): ?string
  462.                                                                                   {
  463.                                                                                       return $this->civilite;
  464.                                                                                   }
  465.     /**
  466.      * @param string $civilite
  467.      */
  468.     public function setCivilite($civilite): void
  469.                                                                                   {
  470.                                                                                       $this->civilite $civilite;
  471.                                                                                   }
  472.     /**
  473.      * @return string|null
  474.      */
  475.     public function getNomTuteur(): ?string
  476.                                                                                   {
  477.                                                                                       return $this->nomTuteur;
  478.                                                                                   }
  479.     /**
  480.      * @param string|null $nomTuteur
  481.      */
  482.     public function setNomTuteur(?string $nomTuteur): void
  483.                                                                                   {
  484.                                                                                       $this->nomTuteur $nomTuteur;
  485.                                                                                   }
  486.     /**
  487.      * @return string|null
  488.      */
  489.     public function getPrenomTuteur(): ?string
  490.                                                                                   {
  491.                                                                                       return $this->prenomTuteur;
  492.                                                                                   }
  493.     /**
  494.      * @param string|null $prenomTuteur
  495.      */
  496.     public function setPrenomTuteur(?string $prenomTuteur): void
  497.                                                                                   {
  498.                                                                                       $this->prenomTuteur $prenomTuteur;
  499.                                                                                   }
  500.     /**
  501.      * @return string|null
  502.      */
  503.     public function getEmailTuteur(): ?string
  504.                                                                                   {
  505.                                                                                       return $this->emailTuteur;
  506.                                                                                   }
  507.     /**
  508.      * @param string|null $emailTuteur
  509.      */
  510.     public function setEmailTuteur(?string $emailTuteur): void
  511.                                                                                   {
  512.                                                                                       $this->emailTuteur $emailTuteur;
  513.                                                                                   }
  514.     /**
  515.      * @return string|null
  516.      */
  517.     public function getEmailNotaire(): ?string
  518.                                                                                   {
  519.                                                                                       return $this->emailNotaire;
  520.                                                                                   }
  521.     /**
  522.      * @param string|null $emailNotaire
  523.      */
  524.     public function setEmailNotaire(?string $emailNotaire): void
  525.                                                                                   {
  526.                                                                                       $this->emailNotaire $emailNotaire;
  527.                                                                                   }
  528.     /**
  529.      * @return string|null
  530.      */
  531.     public function getNumeroTuteur(): ?string
  532.                                                                                   {
  533.                                                                                       return $this->numeroTuteur;
  534.                                                                                   }
  535.     /**
  536.      * @param string|null $numeroTuteur
  537.      */
  538.     public function setNumeroTuteur(?string $numeroTuteur): void
  539.                                                                                   {
  540.                                                                                       $this->numeroTuteur $numeroTuteur;
  541.                                                                                   }
  542.     /**
  543.      * @return string|null
  544.      */
  545.     public function getTypeTuteur(): ?string
  546.                                                                                   {
  547.                                                                                       return $this->typeTuteur;
  548.                                                                                   }
  549.     /**
  550.      * @param string|null $typeTuteur
  551.      */
  552.     public function setTypeTuteur(?string $typeTuteur): void
  553.                                                                                   {
  554.                                                                                       $this->typeTuteur $typeTuteur;
  555.                                                                                   }
  556.     /**
  557.      * @return string|null
  558.      */
  559.     public function getCommentTuteur(): ?string
  560.                                                                                   {
  561.                                                                                       return $this->commentTuteur;
  562.                                                                                   }
  563.     /**
  564.      * @param string|null $commentTuteur
  565.      */
  566.     public function setCommentTuteur(?string $commentTuteur): void
  567.                                                                                   {
  568.                                                                                       $this->commentTuteur $commentTuteur;
  569.                                                                                   }
  570.     /**
  571.      * @return Contract
  572.      */
  573.     public function getContract(): Collection
  574.                                                                                   {
  575.                                                                                       return $this->contract;
  576.                                                                                   }
  577.     /**
  578.      * @param Contact $contract
  579.      */
  580.     public function setContract($contract): void
  581.                                                                                   {
  582.                                                                                       $this->contract $contract;
  583.                                                                                   }
  584.     /**
  585.      * @return Site
  586.      */
  587.     public function getSite(): ?Site
  588.                                                                                   {
  589.                                                                                       return $this->site;
  590.                                                                                   }
  591.     /**
  592.      * @param Contact $site
  593.      */
  594.     public function setSite(?Site $site): void
  595.                                                                                   {
  596.                                                                                       $this->site $site;
  597.                                                                                   }
  598.     /*********/
  599.     /*  ADD */
  600.     /********/
  601.     public function addContract(Contract $item)
  602.                                                                                   {
  603.                                                                                       $this->contract->add($item);
  604.                                                                                       $item->setClient($this);
  605.                                                                                   }
  606.     public function addFamilyMember(FamilyMember $item)
  607.                                                                                   {
  608.                                                                                       $this->familyMembers->add($item);
  609.                                                                                       $item->setClient($this);
  610.                                                                                   }
  611.     /*********/
  612.     /*  REMVOVE */
  613.     /********/
  614.     public function removeFamilyMember(FamilyMember $item)
  615.                                                                                   {
  616.                                                                                       $this->familyMembers->removeElement($item);
  617.                                                                                   }
  618.     /**
  619.      * @return BillingInfos|null
  620.      */
  621.     public function getBillingInfos(): ?BillingInfos
  622.                                                                                   {
  623.                                                                                       return $this->billingInfos;
  624.                                                                                   }
  625.     /**
  626.      * @param Contact $billingInfos
  627.      */
  628.     public function setBillingInfos(BillingInfos $billingInfos): void
  629.                                                                                   {
  630.                                                                                       $this->billingInfos $billingInfos;
  631.                                                                                   }
  632.     /**
  633.      * @return string
  634.      */
  635.     public function getNumClient(): ?string
  636.                                                                                   {
  637.                                                                                       return $this->numClient;
  638.                                                                                   }
  639.     /**
  640.      * @param string $numClient
  641.      */
  642.     public function setNumClient(string $numClient): void
  643.                                                                                   {
  644.                                                                                       $this->numClient $numClient;
  645.                                                                                   }
  646.     /**
  647.      * @return string
  648.      */
  649.     public function getIdentifier(): ?string
  650.                                                                                   {
  651.                                                                                       return $this->identifier;
  652.                                                                                   }
  653.     /**
  654.      * @param string $identifier
  655.      */
  656.     public function setIdentifier(string $identifier): void
  657.                                                                                   {
  658.                                                                                       $this->identifier $identifier;
  659.                                                                                   }
  660.     /**
  661.      * @return string|null
  662.      */
  663.     public function getAddressTuteur(): ?string
  664.                                                                                   {
  665.                                                                                       return $this->addressTuteur;
  666.                                                                                   }
  667.     /**
  668.      * @param string|null $addressTuteur
  669.      */
  670.     public function setAddressTuteur(?string $addressTuteur): void
  671.                                                                                   {
  672.                                                                                       $this->addressTuteur $addressTuteur;
  673.                                                                                   }
  674.     /**
  675.      * @return ArrayCollection
  676.      */
  677.     public function getFamilyMembers()
  678.                                                                                   {
  679.                                                                                       return $this->familyMembers;
  680.                                                                                   }
  681.     /**
  682.      * @param Contract $familyMembers
  683.      */
  684.     public function setFamilyMembers($familyMembers): void
  685.                                                                                   {
  686.                                                                                       $this->familyMembers $familyMembers;
  687.                                                                                   }
  688.     /**
  689.      * @return string|null
  690.      */
  691.     public function getAddressTuteur2(): ?string
  692.                                                                                   {
  693.                                                                                       return $this->addressTuteur2;
  694.                                                                                   }
  695.     /**
  696.      * @param string|null $addressTuteur2
  697.      */
  698.     public function setAddressTuteur2(?string $addressTuteur2): void
  699.                                                                                   {
  700.                                                                                       $this->addressTuteur2 $addressTuteur2;
  701.                                                                                   }
  702.     /**
  703.      * @return string|null
  704.      */
  705.     public function getCity(): ?string
  706.                                                                                   {
  707.                                                                                       return $this->city;
  708.                                                                                   }
  709.     /**
  710.      * @param string|null $city
  711.      */
  712.     public function setCity(?string $city): void
  713.                                                                                   {
  714.                                                                                       $this->city $city;
  715.                                                                                   }
  716.     /**
  717.      * @return string|null
  718.      */
  719.     public function getZipcode(): ?string
  720.                                                                                   {
  721.                                                                                       return $this->zipcode;
  722.                                                                                   }
  723.     /**
  724.      * @param string|null $zipcode
  725.      */
  726.     public function setZipcode(?string $zipcode): void
  727.                                                                                   {
  728.                                                                                       $this->zipcode $zipcode;
  729.                                                                                   }
  730.     /**
  731.      * @return mixed
  732.      */
  733.     public function getCreator()
  734.                                                                                   {
  735.                                                                                       return $this->creator;
  736.                                                                                   }
  737.     /**
  738.      * @param mixed $creator
  739.      */
  740.     public function setCreator($creator): void
  741.                                                                                   {
  742.                                                                                       $this->creator $creator;
  743.                                                                                   }
  744.     /**
  745.      * @return mixed
  746.      */
  747.     public function getMaj()
  748.                                                                                   {
  749.                                                                                       return $this->maj;
  750.                                                                                   }
  751.     /**
  752.      * @param mixed $maj
  753.      */
  754.     public function setMaj($maj): void
  755.                                                                                   {
  756.                                                                                       $this->maj $maj;
  757.                                                                                   }
  758.     /**
  759.      * @return Collection|Reglement[]
  760.      */
  761.     public function getReglements(): Collection
  762.                                                                                   {
  763.                                                                                       return $this->reglements;
  764.                                                                                   }
  765.     public function addReglement(Reglement $reglement): self
  766.                                                                                   {
  767.                                                                                       if (!$this->reglements->contains($reglement)) {
  768.                                                                                           $this->reglements[] = $reglement;
  769.                                                                                           $reglement->setClient($this);
  770.                                                                                       }
  771.                                                                                       return $this;
  772.                                                                                   }
  773.     public function removeReglement(Reglement $reglement): self
  774.                                                                                   {
  775.                                                                                       if ($this->reglements->contains($reglement)) {
  776.                                                                                           $this->reglements->removeElement($reglement);
  777.                                                                                           // set the owning side to null (unless already changed)
  778.                                                                                           if ($reglement->getClient() === $this) {
  779.                                                                                               $reglement->setClient(null);
  780.                                                                                           }
  781.                                                                                       }
  782.                                                                                       return $this;
  783.                                                                                   }
  784.     /**
  785.      * @return mixed
  786.      */
  787.     public function getBillings()
  788.                                                                                   {
  789.                                                                                       return $this->billings;
  790.                                                                                   }
  791.     /**
  792.      * @param mixed $billings
  793.      */
  794.     public function setBillings($billings): void
  795.                                                                                   {
  796.                                                                                       $this->billings $billings;
  797.                                                                                   }
  798.     /**
  799.      * @return \DateTime
  800.      */
  801.     public function getCreated(): \DateTime
  802.                                                                                   {
  803.                                                                                       return $this->created;
  804.                                                                                   }
  805.     /**
  806.      * @param \DateTime $created
  807.      */
  808.     public function setCreated(\DateTime $created): void
  809.                                                                                   {
  810.                                                                                       $this->created $created;
  811.                                                                                   }
  812.     /**
  813.      * @return \DateTime
  814.      */
  815.     public function getUpdated()
  816.                                                                                   {
  817.                                                                                       return $this->updated;
  818.                                                                                   }
  819.     /**
  820.      * @param \DateTime $updated
  821.      */
  822.     public function setUpdated(\DateTime $updated): void
  823.                                                                                   {
  824.                                                                                       $this->updated $updated;
  825.                                                                                   }
  826.     /**
  827.      * @return string|null
  828.      */
  829.     public function getStatusProspect(): ?string
  830.                                                                                   {
  831.                                                                                       return $this->statusProspect;
  832.                                                                                   }
  833.     /**
  834.      * @param string|null $statusProspect
  835.      */
  836.     public function setStatusProspect(?string $statusProspect): void
  837.                                                                                   {
  838.                                                                                       $this->statusProspect $statusProspect;
  839.                                                                                   }
  840.     /**
  841.      * @return string|null
  842.      */
  843.     public function getSuiviClient(): ?string
  844.                                                                                   {
  845.                                                                                       return $this->suiviClient;
  846.                                                                                   }
  847.     /**
  848.      * @param string|null $suiviClient
  849.      */
  850.     public function setSuiviClient(?string $suiviClient): void
  851.                                                                                   {
  852.                                                                                       $this->suiviClient $suiviClient;
  853.                                                                                   }
  854.     /**
  855.      * @return string|null
  856.      */
  857.     public function getCiviliteTuteur(): ?string
  858.                                                                                   {
  859.                                                                                       return $this->civiliteTuteur;
  860.                                                                                   }
  861.     /**
  862.      * @param string|null $civiliteTuteur
  863.      */
  864.     public function setCiviliteTuteur(?string $civiliteTuteur): void
  865.                                                                                   {
  866.                                                                                       $this->civiliteTuteur $civiliteTuteur;
  867.                                                                                   }
  868.     /**
  869.      * @return string|null
  870.      */
  871.     public function getProfilClient(): ?string
  872.                                                                                   {
  873.                                                                                       return $this->profilClient;
  874.                                                                                   }
  875.     /**
  876.      * @param string|null $profilClient
  877.      */
  878.     public function setProfilClient(?string $profilClient): void
  879.                                                                                   {
  880.                                                                                       $this->profilClient $profilClient;
  881.                                                                                   }
  882.     /**
  883.      * @return string|null
  884.      */
  885.     public function getSolde(): ?string
  886.                                                                                   {
  887.                                                                                       $total 0;
  888.                                                                                       /** @var Billing $billing */
  889.                                                                                       foreach ($this->getBillings() as $billing) {
  890.                                                                                           $total +=  $billing->getSolde();
  891.                                                                                       }
  892.                                                                                       return $total;
  893.                                                                                   }
  894.     public function isPrivacyPolicyAccepted(): ?bool
  895.                                                                                   {
  896.                                                                                       return $this->privacyPolicyAccepted;
  897.                                                                                   }
  898.     public function setPrivacyPolicyAccepted(?bool $privacyPolicyAccepted): self
  899.                                                                                   {
  900.                                                                                       $this->privacyPolicyAccepted $privacyPolicyAccepted;
  901.                                                                                       return $this;
  902.                                                                                   }
  903.     public function isEmailAgreement(): ?bool
  904.                                                                                   {
  905.                                                                                       return $this->emailAgreement;
  906.                                                                                   }
  907.     public function setEmailAgreement(?bool $emailAgreement): self
  908.                                                                                   {
  909.                                                                                       $this->emailAgreement $emailAgreement;
  910.                                                                                       return $this;
  911.                                                                                   }
  912.     public function isCgvAccepted(): ?bool
  913.                                                                                   {
  914.                                                                                       return $this->cgvAccepted;
  915.                                                                                   }
  916.     public function setCgvAccepted(?bool $cgvAccepted): self
  917.                                                                                   {
  918.                                                                                       $this->cgvAccepted $cgvAccepted;
  919.                                                                                       return $this;
  920.                                                                                   }
  921.     /**
  922.      * @return string|null
  923.      */
  924.     public function getConsignesClient(): ?string
  925.                                                                                   {
  926.                                                                                       return $this->consignesClient;
  927.                                                                                   }
  928.     /**
  929.      * @param string|null $consignesClient
  930.      */
  931.     public function setConsignesClient(?string $consignesClient): void
  932.                                                                                   {
  933.                                                                                       $this->consignesClient $consignesClient;
  934.                                                                                   }
  935.     /**
  936.      * @return Collection<int, Recurrence>
  937.      */
  938.     public function getRecurrences(): Collection
  939.     {
  940.         return $this->recurrences;
  941.     }
  942.     public function addRecurrence(Recurrence $recurrence): self
  943.     {
  944.         if (!$this->recurrences->contains($recurrence)) {
  945.             $this->recurrences[] = $recurrence;
  946.             $recurrence->setClient($this);
  947.         }
  948.         return $this;
  949.     }
  950.     public function removeRecurrence(Recurrence $recurrence): self
  951.     {
  952.         if ($this->recurrences->removeElement($recurrence)) {
  953.             // set the owning side to null (unless already changed)
  954.             if ($recurrence->getClient() === $this) {
  955.                 $recurrence->setClient(null);
  956.             }
  957.         }
  958.         return $this;
  959.     }
  960.     /**
  961.      * @return bool
  962.      */
  963.     public function isHasSignedEasyCollect(): ?bool
  964.                                                                    {
  965.                                                                        return $this->hasSignedEasyCollect;
  966.                                                                    }
  967.     /**
  968.      * @param bool $hasSignedEasyCollect
  969.      */
  970.     public function setHasSignedEasyCollect(bool $hasSignedEasyCollect): void
  971.                                                                    {
  972.                                                                        $this->hasSignedEasyCollect $hasSignedEasyCollect;
  973.                                                                    }
  974.     public function getDaysOfWeek(): ?array
  975.                                                                    {
  976.                                                                        return $this->daysOfWeek;
  977.                                                                    }
  978.     public function setDaysOfWeek(array $daysOfWeek): self
  979.                                                                    {
  980.                                                                        $this->daysOfWeek $daysOfWeek;
  981.                                                                        return $this;
  982.                                                                    }
  983.     public function getAddressFacturation(): ?string
  984.     {
  985.         if($this->getAddressTuteur() && $this->addressFacturation === null){
  986.             return $this->addressTuteur;
  987.         }
  988.         return $this->addressFacturation;
  989.     }
  990.     public function setAddressFacturation(?string $addressFacturation): self
  991.     {
  992.         $this->addressFacturation $addressFacturation;
  993.         return $this;
  994.     }
  995.     public function getComplementAdresseFacturation(): ?string
  996.     {
  997.         if($this->getAddressTuteur2() && $this->ComplementAdresseFacturation === null){
  998.             return $this->addressTuteur2;
  999.         }
  1000.         return $this->ComplementAdresseFacturation;
  1001.     }
  1002.     public function setComplementAdresseFacturation(?string $ComplementAdresseFacturation): self
  1003.     {
  1004.         $this->ComplementAdresseFacturation $ComplementAdresseFacturation;
  1005.         return $this;
  1006.     }
  1007.     public function getCodePostalFacturation(): ?string
  1008.     {
  1009.         if($this->getZipcode() && $this->codePostalFacturation === null){
  1010.             return $this->zipcode;
  1011.         }
  1012.         return $this->codePostalFacturation;
  1013.     }
  1014.     public function setCodePostalFacturation(?string $codePostalFacturation): self
  1015.     {
  1016.         $this->codePostalFacturation $codePostalFacturation;
  1017.         return $this;
  1018.     }
  1019.     public function getVilleFacturation(): ?string
  1020.     {
  1021.         if($this->getCity() && $this->villeFacturation === null){
  1022.             return $this->city;
  1023.         }
  1024.         return $this->villeFacturation;
  1025.     }
  1026.     public function setVilleFacturation(?string $villeFacturation): self
  1027.     {
  1028.         $this->villeFacturation $villeFacturation;
  1029.         return $this;
  1030.     }
  1031.     public function getNomFacturation(): ?string
  1032.     {
  1033.         if($this->getNomTuteur() && $this->nomFacturation === null){
  1034.             return $this->nomTuteur;
  1035.         }
  1036.         return $this->nomFacturation;
  1037.     }
  1038.     public function setNomFacturation(?string $nomFacturation): self
  1039.     {
  1040.         $this->nomFacturation $nomFacturation;
  1041.         return $this;
  1042.     }
  1043.     public function getPrenomFacturation(): ?string
  1044.     {
  1045.         if($this->getPrenomTuteur() && $this->prenomFacturation === null){
  1046.             return $this->prenomTuteur;
  1047.         }
  1048.         return $this->prenomFacturation;
  1049.     }
  1050.     public function setPrenomFacturation(?string $prenomFacturation): self
  1051.     {
  1052.         $this->prenomFacturation $prenomFacturation;
  1053.         return $this;
  1054.     }
  1055.     public function getCiviliteFacturation(): ?string
  1056.     {
  1057.         if($this->getCivilite() && $this->civiliteFacturation === null){
  1058.             return $this->civilite;
  1059.         }
  1060.         return $this->civiliteFacturation;
  1061.     }
  1062.     public function setCiviliteFacturation(?string $civiliteFacturation): self
  1063.     {
  1064.         $this->civiliteFacturation $civiliteFacturation;
  1065.         return $this;
  1066.     }
  1067. }