src/Entity/User.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\UserRepository;
  4. use App\Validator\Constraints as AcmeAssert;
  5. use DateTime;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Doctrine\Common\Collections\Collection;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use Rollerworks\Component\PasswordStrength\Validator\Constraints as RollerworksPassword;
  10. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  11. use Symfony\Component\HttpFoundation\File\File;
  12. use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
  13. use Symfony\Component\Security\Core\User\UserInterface;
  14. use Symfony\Component\Validator\Constraints as Assert;
  15. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  16. /**
  17.  * @method string getUserIdentifier()
  18.  * @Vich\Uploadable
  19.  */
  20. #[ORM\Entity(repositoryClassUserRepository::class)]
  21. #[ORM\Table(name'user')]
  22. #[UniqueEntity('email'message"L'adresse e-mail est déjà utilisée.")]
  23. class User implements UserInterfacePasswordAuthenticatedUserInterface
  24. {
  25.     public const ROLE_DEFAULT 'ROLE_INCOMPLETE_USER';
  26.     public const ROLE_SUPER_ADMIN 'ROLE_SUPER_ADMIN';
  27.     public $expressStep;
  28.     public $expressComplaintPrice;
  29.     #[ORM\Column(name"id"type"integer")]
  30.     #[ORM\Id]
  31.     #[ORM\GeneratedValue(strategy"AUTO")]
  32.     private ?int $id;
  33.     #[ORM\Column(type'string'length64uniquetrue)]
  34.     #[Assert\Email]
  35.     #[Assert\NotBlank(message'Ce champ est obligatoire')]
  36.     private string $email;
  37.     #[ORM\Column(type'string'length255)]
  38.     private string $password;
  39.     /**
  40.      * @var string
  41.      * @RollerworksPassword\PasswordRequirements(
  42.      *     minLength=8,
  43.      *     requireCaseDiff=true,
  44.      *     requireNumbers=true,
  45.      *     requireSpecialCharacter=true,
  46.      *     tooShortMessage="Le mot de passe doit contenir au minimum {{length}} caractère.",
  47.      *     missingLettersMessage="Le mot de passe doit contenir au moins une lettre.",
  48.      *     requireCaseDiffMessage="Le mot de passe doit contenir au moins une lettre majuscule et une lettre minuscule.",
  49.      *     missingNumbersMessage="Le mot de passe doit contenir au moins un chiffre.",
  50.      *     missingSpecialCharacterMessage="Le mot de passe doit contenir au moins un caractère special (@#,.-_).",
  51.      * )
  52.      */
  53.     private $plainPassword;
  54.     /**
  55.      * @var string
  56.      */
  57.     #[ORM\Column(type'string'length255nullabletrue)]
  58.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['expressStep1''edit_info'])]
  59.     private $gmaps;
  60.     #[ORM\Column(type'array')]
  61.     private array $roles = [];
  62.     #[ORM\Column(type'boolean')]
  63.     private bool $hasAlreadyEditedAddresses false;
  64.     #[ORM\Column(type'boolean')]
  65.     private bool $hasAlreadyEditedIdentityInfos false;
  66.     #[ORM\Column(type'boolean')]
  67.     private bool $hasAlreadyEditedContactInfos false;
  68.     #[ORM\Column(type'boolean')]
  69.     private bool $hasAlreadyEditedIdentityCard false;
  70.     #[ORM\OneToMany(targetEntity'App\Entity\Search'mappedBy'user'cascade: ['persist''remove'])]
  71.     private Collection|array $searchs;
  72.     #[ORM\OneToMany(targetEntity'App\Entity\LossReport'mappedBy'user'cascade: ['persist''remove'])]
  73.     private Collection|array $lossReports;
  74.     #[ORM\OneToMany(targetEntity'App\Entity\ArchiveComplaint'mappedBy'user'cascade: ['persist''remove'])]
  75.     private Collection|array $archiveComplaints;
  76.     #[ORM\OneToMany(targetEntity'App\Entity\ItemsListComplaint'mappedBy'user'cascade: ['persist''remove'])]
  77.     private Collection|array $itemsListComplaints;
  78.     #[ORM\OneToMany(targetEntity'App\Entity\ItemsListBackup'mappedBy'user'cascade: ['persist''remove'])]
  79.     private Collection|array $itemsListBackups;
  80.     #[ORM\OneToMany(targetEntity'App\Entity\PaymentMethod'mappedBy'user'cascade: ['persist''remove'])]
  81.     private Collection|array $paymentMethods;
  82.     #[ORM\OneToMany(targetEntity'App\Entity\Vehicle'mappedBy'user'cascade: ['persist''remove'], orphanRemovaltrue)]
  83.     private Collection|array $vehicles;
  84.     #[ORM\OneToMany(targetEntity'App\Entity\ComplaintX'mappedBy'user'cascade: ['persist''remove'])]
  85.     private Collection|array $complaintXs;
  86.     #[ORM\Column(type'boolean')]
  87.     private bool $firstLogin true;
  88.     #[ORM\OneToMany(targetEntity'App\Entity\Address'mappedBy'user'cascade: ['persist''remove'])]
  89.     #[Assert\Valid()]
  90.     private Collection|array $addressUser;
  91.     #[ORM\Column(type'string'length255nullabletrue)]
  92.     private ?string $partnerName null;
  93.     #[Assert\IsTrue(message"Vous devez accepter les conditions")]
  94.     #[ORM\Column(type'boolean')]
  95.     private bool $hasAcceptedConditions;
  96.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['identityCard'])]
  97.     #[ORM\Column(type'string'length255nullabletrue)]
  98.     private ?string $identityCardType =
  99.     null;
  100.     #[ORM\Column(type'text'nullabletrue)]
  101.     private ?string $signature null;
  102.     #[ORM\OneToMany(
  103.         targetEntity'App\Entity\InsuranceDisasterDeclaration',
  104.         mappedBy'user',
  105.         cascade: ['persist''remove']
  106.     )]
  107.     private Collection|array $insuranceDisasterDeclarations;
  108.     #[ORM\Column(type'string'length255nullabletrue)]
  109.     private ?string $stripeCustomerId null;
  110.     #[ORM\OneToMany(targetEntity'App\Entity\Charge'mappedBy'user'cascade: ['persist''remove'])]
  111.     private Collection|array $charges;
  112.     #[ORM\OneToMany(targetEntity'App\Entity\DisasterDeclaration'mappedBy'user'cascade: ['persist''remove'])]
  113.     private Collection|array $disasterDeclarations;
  114.     #[ORM\OneToMany(targetEntity'App\Entity\FillingComplaint'mappedBy'user'cascade: ['persist''remove'])]
  115.     private Collection|array $fillingComplaints;
  116.     #[ORM\Column(type'boolean')]
  117.     private bool $suscribedToNewsletter false;
  118.     #[ORM\Column(type'boolean')]
  119.     private bool $acceptPartnerProspecting false;
  120.     #[ORM\OneToMany(mappedBy'user'targetEntitySteal::class, cascade: ['persist''remove'])]
  121.     private Collection|array $steals;
  122.     #[ORM\OneToMany(targetEntity'App\Entity\QrCode'mappedBy'user'cascade: ['persist''remove'])]
  123.     private Collection|array $qrCodes;
  124.     #[ORM\OneToMany(targetEntity'App\Entity\GoodAssignement'mappedBy'user'cascade: ['persist''remove'])]
  125.     private Collection|array $goodAssignements;
  126.     #[ORM\OneToMany(targetEntity'App\Entity\GoodAssignement'mappedBy'buyer'cascade: ["persist""remove"])]
  127.     private Collection|array $buyerGoodAssignements;
  128.     #[ORM\OneToMany(targetEntity'App\Entity\ComplaintLetter'mappedBy'user'cascade: ["persist""remove"])]
  129.     private Collection|array $complaintLetters;
  130.     #[ORM\OneToMany(
  131.         targetEntity'App\Entity\Insurance',
  132.         mappedBy'user',
  133.         cascade: ['persist''remove'],
  134.         orphanRemovaltrue
  135.     )]
  136.     private Collection|array $insurances;
  137.     #[ORM\OneToMany(targetEntity'App\Entity\Item'mappedBy'user'cascade: ['persist''remove'])]
  138.     private Collection|array $items;
  139.     #[ORM\OneToMany(targetEntity'App\Entity\Video'mappedBy'user'cascade: ['persist''remove'])]
  140.     private Collection|array $videos;
  141.     #[ORM\OneToMany(targetEntity'App\Entity\Document'mappedBy'user'cascade: ['persist''remove'])]
  142.     private Collection|array $documents;
  143.     #[Assert\Choice(callback'getPartnerTypes'multiplefalse)]
  144.     #[ORM\Column(type'string'length255nullabletrue)]
  145.     private ?string $partnerType null;
  146.     #[ORM\OneToOne(targetEntity'App\Entity\User'inversedBy'partner')]
  147.     private ?User $partnerLead null;
  148.     #[ORM\OneToOne(targetEntity'App\Entity\User'mappedBy'partnerLead')]
  149.     private ?User $partner null;
  150.     #[ORM\Column(name'createdAt'type'datetime')]
  151.     private DateTime $createdAt;
  152.     /**
  153.      * @AcmeAssert\BirthDate
  154.      */
  155.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['IdentityInfos''expressStep1''edit_info'])]
  156.     #[ORM\Column(name'birthDate'type'datetime'nullabletrue)]
  157.     private ?DateTime $birthDate null;
  158.     #[ORM\Column(type'string'length255nullabletrue)]
  159.     private ?string $birthCountry null;
  160.     #[ORM\Column(type'string'length255nullabletrue)]
  161.     private ?string $birthCity null;
  162.     #[ORM\Column(type'string'length255nullabletrue)]
  163.     private ?string $birthZipCode null;
  164.     #[ORM\OneToMany(targetEntity'App\Entity\Child'mappedBy'user'cascade: ['persist''remove'])]
  165.     private Collection|array $children;
  166.     #[ORM\Column(type'string'length255nullabletrue)]
  167.     private ?string $birthDepartment null;
  168.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['IdentityInfos''edit_info''expressStep2'])]
  169.     #[Assert\Choice(callback'getFamilySituations'multiplefalse)]
  170.     #[ORM\Column(type'string'length255nullabletrue)]
  171.     private ?string $familySituation null;
  172.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['IdentityInfos''expressStep1''edit_info'])]
  173.     #[Assert\Choice(callback'getNationalities'multiplefalsegroups: ['IdentityInfos''expressStep2'])]
  174.     #[ORM\Column(type'string'length255nullabletrue)]
  175.     private ?string $nationality null;
  176.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['IdentityInfos''expressStep2'])]
  177.     #[Assert\Choice(callback'getProfessions'multiplefalsegroups: ['IdentityInfos''expressStep2'])]
  178.     #[ORM\Column(type'string'length255nullabletrue)]
  179.     private ?string $profession null;
  180.     #[ORM\Column(type'string'length255nullabletrue)]
  181.     private ?string $company;
  182.     #[ORM\Column(type'string'length255nullabletrue)]
  183.     private ?string $phoneNumberConfirmationCode;
  184.     #[ORM\Column(type'string'length255nullabletrue)]
  185.     private ?string $deleteCode;
  186.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['IdentityInfos'])]
  187.     #[Assert\Choice(callback'getCivilities'multiplefalse)]
  188.     #[ORM\Column(type'string'length255)]
  189.     private ?string $civility null;
  190.     //    /**
  191.     //     * @var string
  192.     //     *
  193.     //     * @Assert\Choice(callback = "getCivilities", multiple = false)
  194.     //     * @ORM\Column(name="partnerCivility", type="string", length=255)
  195.     //     */
  196.     //    private $partnerCivility;
  197.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['''edit_info'])]
  198.     #[ORM\Column(type'string'length255)]
  199.     private ?string $lastName;
  200.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['''edit_info'])]
  201.     #[ORM\Column(type'string'length255)]
  202.     private ?string $firstName;
  203.     #[ORM\Column(type'string'length255nullabletrue)]
  204.     private ?string $promotionalCode;
  205.     /**
  206.      * @AcmeAssert\FrenchPhoneNumber
  207.      */
  208.     #[ORM\Column(type'string'length255nullabletrue)]
  209.     private ?string $fixPhoneNumber;
  210.     /**
  211.      * @AcmeAssert\FrenchPhoneNumber
  212.      */
  213.     #[ORM\Column(type'string'length255nullabletrue)]
  214.     #[Assert\Regex(pattern'/^0[6-7]([-. ]?[0-9]{2}){4}$/'message'Le numéro de mobile n\'est pas valide', match: truegroups: ['expressStep2'])]
  215.     private ?string $phoneNumber;
  216.     /**
  217.      * @AcmeAssert\IdentityCardPhoto(groups={"identityCard"})
  218.      */
  219.     #[Assert\Valid(groups: ['identityCard'])]
  220.     #[ORM\OneToMany(targetEntityIdentityCardPhoto::class, mappedBy'user'cascade: ["persist""remove"])]
  221.     private Collection|array $identityCardPhotos;
  222.     #[Assert\NotBlank(message'Ce champ est obligatoire'groups: ['identityCard'])]
  223.     #[ORM\Column(type'datetime'nullabletrue)]
  224.     private ?DateTime $identityCardExpirationDate;
  225.     #[ORM\Column(type'datetime'nullabletrue)]
  226.     private ?DateTime $secondIdentityCardExpirationDate;
  227.     /**
  228.      * @Vich\UploadableField(mapping="user", fileNameProperty="pictureFileName", size="pictureFileSize")
  229.      */
  230.     #[Assert\File(maxSize'4M'groups: ['edit_info''edit_photo'])]
  231.     private ?File $pictureFile null;
  232.     #[ORM\Column(type'string'length255nullabletrue)]
  233.     private ?string $pictureFileName null;
  234.     #[ORM\Column(type'integer'nullabletrue)]
  235.     private ?int $pictureFileSize null;
  236.     #[ORM\Column(type'datetime'nullabletrue)]
  237.     private ?DateTime $pictureFileUpdatedAt null;
  238.     /**
  239.      * NOTE: This is not a mapped field of entity metadata, just a simple property.
  240.      * @Vich\UploadableField(mapping="secondIdentityCard", fileNameProperty="secondIdentityCardFileName", size="secondIdentityCardFileSize")
  241.      */
  242.     #[Assert\File(maxSize'500k'groups: ['identityCard'])]
  243.     private ?File $secondIdentityCardFile null;
  244.     #[ORM\Column(type'string'length255nullabletrue)]
  245.     private ?string $secondIdentityCardFileName;
  246.     #[ORM\Column(type'integer'nullabletrue)]
  247.     private ?int $secondIdentityCardFileSize;
  248.     #[ORM\Column(type'string'length255nullabletrue)]
  249.     private ?string $accountId;
  250.     #[ORM\Column(type'boolean')]
  251.     private bool $isBeginner true;
  252.     #[ORM\Column(type'datetime'nullabletrue)]
  253.     private ?DateTime $secondIdentityCardFileUpdatedAt;
  254.     #[ORM\Column(type'boolean')]
  255.     private bool $isVerified false;
  256.     #[ORM\OneToMany(targetEntityPartnerPending::class, mappedBy'partner'cascade: ["persist""remove"])]
  257.     private Collection|array $partnerPendings;
  258.     #[ORM\OneToMany(targetEntityResetPasswordRequest::class, mappedBy'user'cascade: ["persist""remove"])]
  259.     private Collection|array $resetPasswordRequests;
  260.     #[ORM\OneToOne(targetEntityPartnerPending::class, mappedBy'userAccount'cascade: ["persist""remove"])]
  261.     private ?PartnerPending $partnerPending;
  262.     #[ORM\Column(type'string'length255nullabletrue)]
  263.     private ?string $pendingNewEmail;
  264.     #[ORM\Column(type'string'length255nullabletrue)]
  265.     private ?string $validationToken;
  266.     public function __construct()
  267.     {
  268.         $this->createdAt = new DateTime();
  269.         $this->roles = [self::ROLE_DEFAULT];
  270.         $this->accountId uniqid();
  271.         $this->phoneNumberConfirmationCode rand(1111199999);
  272.         $this->partnerPendings = new ArrayCollection();
  273.         $this->searchs = new ArrayCollection();
  274.         $this->lossReports = new ArrayCollection();
  275.         $this->archiveComplaints = new ArrayCollection();
  276.         $this->itemsListComplaints = new ArrayCollection();
  277.         $this->itemsListBackups = new ArrayCollection();
  278.         $this->paymentMethods = new ArrayCollection();
  279.         $this->vehicles = new ArrayCollection();
  280.         $this->complaintXs = new ArrayCollection();
  281.         $this->addressUser = new ArrayCollection();
  282.         $this->insuranceDisasterDeclarations = new ArrayCollection();
  283.         $this->charges = new ArrayCollection();
  284.         $this->disasterDeclarations = new ArrayCollection();
  285.         $this->fillingComplaints = new ArrayCollection();
  286.         $this->steals = new ArrayCollection();
  287.         $this->qrCodes = new ArrayCollection();
  288.         $this->goodAssignements = new ArrayCollection();
  289.         $this->buyerGoodAssignements = new ArrayCollection();
  290.         $this->complaintLetters = new ArrayCollection();
  291.         $this->insurances = new ArrayCollection();
  292.         $this->items = new ArrayCollection();
  293.         $this->videos = new ArrayCollection();
  294.         $this->documents = new ArrayCollection();
  295.         $this->children = new ArrayCollection();
  296.         $this->identityCardPhotos = new ArrayCollection();
  297.     }
  298.     public static function getNationalities()
  299.     {
  300.         $arr = [
  301.             "Française",
  302.             "Afghane",
  303.             "Albanaise",
  304.             "Algérienne",
  305.             "Allemande",
  306.             "Américaine",
  307.             "Andorrane",
  308.             "Angolaise",
  309.             "Antiguaise-et-Barbudienne",
  310.             "Argentine",
  311.             "Arménienne",
  312.             "Australienne",
  313.             "Autrichienne",
  314.             "Azerbaïdjanaise",
  315.             "Bahamienne",
  316.             "Bahreinienne",
  317.             "Bangladaise",
  318.             "Barbadienne",
  319.             "Belge",
  320.             "Belizienne",
  321.             "Béninoise",
  322.             "Bhoutanaise",
  323.             "Biélorusse",
  324.             "Birmane",
  325.             "Bissau-Guinéenne",
  326.             "Bolivienne",
  327.             "Bosnienne",
  328.             "Botswanaise",
  329.             "Brésilienne",
  330.             "Britannique",
  331.             "Brunéienne",
  332.             "Bulgare",
  333.             "Burkinabée",
  334.             "Burundaise",
  335.             "Cambodgienne",
  336.             "Camerounaise",
  337.             "Canadienne",
  338.             "Cap-verdienne",
  339.             "Centrafricaine",
  340.             "Chilienne",
  341.             "Chinoise",
  342.             "Chypriote",
  343.             "Colombienne",
  344.             "Comorienne",
  345.             "Congolaise",
  346.             "Congolaise",
  347.             "Cookienne",
  348.             "Costaricaine",
  349.             "Croate",
  350.             "Cubaine",
  351.             "Danoise",
  352.             "Djiboutienne",
  353.             "Dominicaine",
  354.             "Dominiquaise",
  355.             "Égyptienne",
  356.             "Émirienne",
  357.             "Équato-guineenne",
  358.             "Équatorienne",
  359.             "Érythréenne",
  360.             "Espagnole",
  361.             "Est-timoraise",
  362.             "Estonienne",
  363.             "Éthiopienne",
  364.             "Fidjienne",
  365.             "Finlandaise",
  366.             "Gabonaise",
  367.             "Gambienne",
  368.             "Georgienne",
  369.             "Ghanéenne",
  370.             "Grenadienne",
  371.             "Guatémaltèque",
  372.             "Guinéenne",
  373.             "Guyanienne",
  374.             "Haïtienne",
  375.             "Hellénique",
  376.             "Hondurienne",
  377.             "Hongroise",
  378.             "Indienne",
  379.             "Indonésienne",
  380.             "Irakienne",
  381.             "Iranienne",
  382.             "Irlandaise",
  383.             "Islandaise",
  384.             "Israélienne",
  385.             "Italienne",
  386.             "Ivoirienne",
  387.             "Jamaïcaine",
  388.             "Japonaise",
  389.             "Jordanienne",
  390.             "Kazakhstanaise",
  391.             "Kenyane",
  392.             "Kirghize",
  393.             "Kiribatienne",
  394.             "Kittitienne et Névicienne",
  395.             "Koweïtienne",
  396.             "Laotienne",
  397.             "Lesothane",
  398.             "Lettone",
  399.             "Libanaise",
  400.             "Libérienne",
  401.             "Libyenne",
  402.             "Liechtensteinoise",
  403.             "Lituanienne",
  404.             "Luxembourgeoise",
  405.             "Macédonienne",
  406.             "Malaisienne",
  407.             "Malawienne",
  408.             "Maldivienne",
  409.             "Malgache",
  410.             "Maliennes",
  411.             "Maltaise",
  412.             "Marocaine",
  413.             "Marshallaise",
  414.             "Mauricienne",
  415.             "Mauritanienne",
  416.             "Mexicaine",
  417.             "Micronésienne",
  418.             "Moldave",
  419.             "Monegasque",
  420.             "Mongole",
  421.             "Monténégrine",
  422.             "Mozambicaine",
  423.             "Namibienne",
  424.             "Nauruane",
  425.             "Néerlandaise",
  426.             "Néo-Zélandaise",
  427.             "Népalaise",
  428.             "Nicaraguayenne",
  429.             "Nigériane",
  430.             "Nigérienne",
  431.             "Niuéenne",
  432.             "Nord-coréenne",
  433.             "Norvégienne",
  434.             "Omanaise",
  435.             "Ougandaise",
  436.             "Ouzbéke",
  437.             "Pakistanaise",
  438.             "Palaosienne",
  439.             "Palestinienne",
  440.             "Panaméenne",
  441.             "Papouane-Néo-Guinéenne",
  442.             "Paraguayenne",
  443.             "Péruvienne",
  444.             "Philippine",
  445.             "Polonaise",
  446.             "Portugaise",
  447.             "Qatarienne",
  448.             "Roumaine",
  449.             "Russe",
  450.             "Rwandaise",
  451.             "Saint--Lucienne",
  452.             "Saint--Marinaise",
  453.             "Saint-Vincentaise et Grenadine",
  454.             "Salomonaise",
  455.             "Salvadorienne",
  456.             "Samoane",
  457.             "Santoméenne",
  458.             "Saoudienne",
  459.             "Sénégalaise",
  460.             "Serbe",
  461.             "Seychelloise",
  462.             "Sierra-Léonaise",
  463.             "Singapourienne",
  464.             "Slovaque",
  465.             "Slovène",
  466.             "Somalienne",
  467.             "Soudanaise",
  468.             "Sri-Lankaise",
  469.             "Sud-Africaine",
  470.             "Sud-Coréenne",
  471.             "Sud-Soudanaise",
  472.             "Suédoise",
  473.             "Suisse",
  474.             "Surinamaise",
  475.             "Swazie",
  476.             "Syrienne",
  477.             "Tadjike",
  478.             "Tanzanienne",
  479.             "Tchadienne",
  480.             "Tchèque",
  481.             "Thaïlandaise",
  482.             "Togolaise",
  483.             "Tonguienne",
  484.             "Trinidadienne",
  485.             "Tunisienne",
  486.             "Turkmène",
  487.             "Turque",
  488.             "Tuvaluane",
  489.             "Ukrainienne",
  490.             "Uruguayenne",
  491.             "Vanuatuane",
  492.             "Vaticane",
  493.             "Vénézuélienne",
  494.             "Vietnamienne",
  495.             "Yéménite",
  496.             "Zambienne",
  497.             "Zimbabwéenne"
  498.         ];
  499.         return array_combine($arr$arr);
  500.     }
  501.     public static function getProfessions()
  502.     {
  503.         $arr = [
  504.             "Accessoiriste",
  505.             "Accompagnateur de voyage",
  506.             "Accordeur",
  507.             "Accoucheur",
  508.             "Acteur",
  509.             "Action sociale et culturelle",
  510.             "Acuponcteur",
  511.             "Adjoint administratif",
  512.             "Adjoint au maire",
  513.             "Adjudant",
  514.             "Adjudant chef",
  515.             "Administrateur civil",
  516.             "Administrateur de base de donnees",
  517.             "Administrateur de societe",
  518.             "Administrateur general",
  519.             "Administrateur judiciaire",
  520.             "Administrateur reseau",
  521.             "Administrateur systeme",
  522.             "Administrateur territorial",
  523.             "Administration gestion des entreprises",
  524.             "Affichiste",
  525.             "Affuteur",
  526.             "Agent administratif",
  527.             "Agent artistique",
  528.             "Agent charge d'accueil touristique",
  529.             "Agent commercial",
  530.             "Agent d'entretien",
  531.             "Agent d'exploitation des transports",
  532.             "Agent de change",
  533.             "Agent de collectivite territoriale",
  534.             "Agent de developpement touristique",
  535.             "Agent de la poste",
  536.             "Agent de la sante publique",
  537.             "Agent de maintenance",
  538.             "Agent de publicite",
  539.             "Agent de securite",
  540.             "Agent de securite du metro",
  541.             "Agent de service de la fonction publique",
  542.             "Agent de surveillance de la sncf",
  543.             "Agent de voyage",
  544.             "Agent france telecom",
  545.             "Agent general d'assurance",
  546.             "Agent immobilier",
  547.             "Agent ratp",
  548.             "Agent rtm",
  549.             "Agent sncf",
  550.             "Agent specialise police technique et scientifique",
  551.             "Agent tcl",
  552.             "Agent technique specialise des ecoles maternelles",
  553.             "Agriculteur",
  554.             "Agriculture eaux et forets",
  555.             "Agronome",
  556.             "Aide comptable",
  557.             "Aide cuisinier",
  558.             "Aide menager",
  559.             "Aide soignant",
  560.             "Ajusteur",
  561.             "Alcoologue",
  562.             "Alimentation restauration",
  563.             "Allergologue",
  564.             "Ambulancier",
  565.             "Amiral",
  566.             "Analyste programmeur",
  567.             "Anesthesiste",
  568.             "Angeiologue",
  569.             "Animateur",
  570.             "Animateur de mjc",
  571.             "Animateur de colonie de vacances",
  572.             "Animateur de grande surface",
  573.             "Animateur de parc de loisirs",
  574.             "Animateur de radio",
  575.             "Animateur de soirees",
  576.             "Animateur de television",
  577.             "Animateur socio culturel",
  578.             "Animateur sportif",
  579.             "Anthropologue",
  580.             "Antiquaire",
  581.             "Apiculteur",
  582.             "Appariteur",
  583.             "Apprenti",
  584.             "Apprenti cuisinier",
  585.             "Aquaculteur",
  586.             "Arbitre",
  587.             "Arboriculteur",
  588.             "Archeologue",
  589.             "Archeveque",
  590.             "Architecte",
  591.             "Architecte d'interieur",
  592.             "Architecte urbaniste",
  593.             "Ardoisier",
  594.             "Armateur",
  595.             "Armurier",
  596.             "Artificier",
  597.             "Artisan",
  598.             "Artisanat",
  599.             "Artiste de cirque",
  600.             "Artiste de variete",
  601.             "Artiste lyrique",
  602.             "Artiste peintre",
  603.             "Aspirant",
  604.             "Assistant administratif",
  605.             "Assistant de direction",
  606.             "Assistant dentaire",
  607.             "Assistant en communication",
  608.             "Assistant en publicite",
  609.             "Assistant export",
  610.             "Assistant familial",
  611.             "Assistant juridique",
  612.             "Assistant maternel",
  613.             "Assistant social",
  614.             "Assureur",
  615.             "Astrologue",
  616.             "Astronome",
  617.             "Athlete",
  618.             "Attache commercial",
  619.             "Attache de direction",
  620.             "Attache de police",
  621.             "Attache de presse",
  622.             "Attache territorial",
  623.             "Auditeur",
  624.             "Aumonier",
  625.             "Auteur",
  626.             "Auteur compositeur",
  627.             "Autre profession",
  628.             "Autres ministeres",
  629.             "Auxiliaire de vie",
  630.             "Auxiliaire familiale",
  631.             "Auxiliaire veterinaire",
  632.             "Aviculteur",
  633.             "Avocat",
  634.             "Avoue",
  635.             "Bacteriologiste",
  636.             "Bagagiste",
  637.             "Bailleur",
  638.             "Barman",
  639.             "Basketteur",
  640.             "Batelier",
  641.             "Batiment travaux publics",
  642.             "Berger",
  643.             "Bibliothecaire",
  644.             "Biochimiste",
  645.             "Biologiste",
  646.             "Blanchisseur",
  647.             "Bobineur",
  648.             "Bonnetier",
  649.             "Bonze",
  650.             "Botaniste",
  651.             "Bottier",
  652.             "Boucher",
  653.             "Boucher charcutier",
  654.             "Boulanger",
  655.             "Boulanger patissier",
  656.             "Bourrelier",
  657.             "Boxeur",
  658.             "Brancardier",
  659.             "Brasseur",
  660.             "Brigadier de police",
  661.             "Brocanteur",
  662.             "Bucheron",
  663.             "Buraliste",
  664.             "Cableur",
  665.             "Cadre",
  666.             "Cadreur",
  667.             "Caissier de magasin",
  668.             "Cameraman",
  669.             "Cancerologue",
  670.             "Cantonnier",
  671.             "Capitaine",
  672.             "Capitaine de corvette",
  673.             "Capitaine de fregate",
  674.             "Capitaine de vaisseau",
  675.             "Caporal",
  676.             "Caporal chef",
  677.             "Cardinal",
  678.             "Cardiologue",
  679.             "Cariste",
  680.             "Carreleur",
  681.             "Carrossier",
  682.             "Cartomancien",
  683.             "Casseur",
  684.             "Catcheur",
  685.             "Caviste",
  686.             "Censeur",
  687.             "Ceramiste",
  688.             "Cerealier",
  689.             "Champignonniste",
  690.             "Charbonnier",
  691.             "Charcutier traiteur",
  692.             "Charge d'etude marketing",
  693.             "Charge de clientele",
  694.             "Charge de communication",
  695.             "Charge de mission",
  696.             "Charpentier",
  697.             "Chasseur d'hôtel",
  698.             "Chaudronnier",
  699.             "Chaudronnier tolier",
  700.             "Chauffagiste",
  701.             "Chauffeur",
  702.             "Chauffeur de maitre",
  703.             "Chauffeur de taxi",
  704.             "Chauffeur demenageur",
  705.             "Chauffeur livreur",
  706.             "Chauffeur routier",
  707.             "Chef d'entreprise",
  708.             "Chef d'equipe",
  709.             "Chef d'escale",
  710.             "Chef d'etat",
  711.             "Chef de chantier",
  712.             "Chef de cuisine",
  713.             "Chef de fabrication",
  714.             "Chef de gare",
  715.             "Chef de partie",
  716.             "Chef de plateau",
  717.             "Chef de produit",
  718.             "Chef de projet informatique",
  719.             "Chef de rang",
  720.             "Chef de rayon",
  721.             "Chef de salle",
  722.             "Chef des ventes",
  723.             "Chef eclairagiste",
  724.             "Chef operateur",
  725.             "Chevrier",
  726.             "Chimiste",
  727.             "Chiropracteur",
  728.             "Chirurgien",
  729.             "Chocolatier",
  730.             "Chocolatier confiseur",
  731.             "Chomeur",
  732.             "Clerc d'huissier",
  733.             "Coffreur",
  734.             "Coiffeur",
  735.             "Collegien",
  736.             "Colonel",
  737.             "Colporteur",
  738.             "Commandant",
  739.             "Commandant de bord",
  740.             "Commercant",
  741.             "Commercant animalier",
  742.             "Commerce",
  743.             "Commercial",
  744.             "Commis d'agent de change",
  745.             "Commis de cuisine",
  746.             "Commissaire aux comptes",
  747.             "Commissaire de bord de la marine marchande",
  748.             "Commissaire de police",
  749.             "Commissaire priseur",
  750.             "Communication information",
  751.             "Comptable",
  752.             "Concessionnaire automobile",
  753.             "Conchyliculteur",
  754.             "Concierge",
  755.             "Conducteur d'engin",
  756.             "Conducteur d'offset",
  757.             "Conducteur de bus",
  758.             "Conducteur de metro",
  759.             "Conducteur de train",
  760.             "Conducteur de travaux",
  761.             "Confiseur",
  762.             "Conseil en entreprise",
  763.             "Conseil expertise",
  764.             "Conseiller a la cour de cassation",
  765.             "Conseiller a la cour des comptes",
  766.             "Conseiller agricole",
  767.             "Conseiller conjugal et familial",
  768.             "Conseiller d'etat",
  769.             "Conseiller d'insertion et de probation",
  770.             "Conseiller d'orientation",
  771.             "Conseiller en assurance",
  772.             "Conseiller en conditions de travail",
  773.             "Conseiller en developpement personnel",
  774.             "Conseiller en economie sociale et familiale",
  775.             "Conseiller en formation",
  776.             "Conseiller en recrutement",
  777.             "Conseiller en relations humaines",
  778.             "Conseiller en selection",
  779.             "Conseiller europeen",
  780.             "Conseiller financier",
  781.             "Conseiller fiscal",
  782.             "Conseiller general",
  783.             "Conseiller juridique",
  784.             "Conseiller juridique et fiscal",
  785.             "Conseiller matrimonial",
  786.             "Conseiller municipal",
  787.             "Conseiller pedagogique",
  788.             "Conseiller principal d'education",
  789.             "Conseiller prive",
  790.             "Conseiller regional",
  791.             "Conservateur du patrimoine",
  792.             "Contrat emploi solidarite",
  793.             "Contremaitre",
  794.             "Controleur aerien",
  795.             "Controleur de bus",
  796.             "Controleur de gestion",
  797.             "Controleur de la poste",
  798.             "Controleur de la repression des fraudes",
  799.             "Controleur de la sncf",
  800.             "Controleur de metro",
  801.             "Controleur des transports",
  802.             "Controleur du travail",
  803.             "Controleur financier",
  804.             "Controleur general de l'administration",
  805.             "Copiste",
  806.             "Cordier",
  807.             "Cordonnier",
  808.             "Correspondant de presse",
  809.             "Costumier",
  810.             "Coupeur",
  811.             "Coureur",
  812.             "Coureur automobile",
  813.             "Coureur cycliste",
  814.             "Coureur motocycliste",
  815.             "Coursier",
  816.             "Courtier en assurance",
  817.             "Courtier en bourse",
  818.             "Coutelier",
  819.             "Couturier",
  820.             "Couvreur",
  821.             "Couvreur zingueur",
  822.             "Cremier fromager",
  823.             "Crepier",
  824.             "Criminologue",
  825.             "Croupier",
  826.             "Cuisinier",
  827.             "Cuisinier de collectivite",
  828.             "Cultivateur",
  829.             "Cytologiste",
  830.             "Dactylo",
  831.             "Danseur",
  832.             "Debardeur",
  833.             "Debitant de boissons",
  834.             "Decorateur",
  835.             "Delegue juridique",
  836.             "Delegue medical",
  837.             "Demandeur d'emploi",
  838.             "Demarcheur",
  839.             "Demenageur",
  840.             "Demineur",
  841.             "Demographe",
  842.             "Dentiste",
  843.             "Depanneur",
  844.             "Depute",
  845.             "Depute europeen",
  846.             "Dermatologue",
  847.             "Dessinateur",
  848.             "Dessinateur industriel",
  849.             "Detective prive",
  850.             "Diabetologue",
  851.             "Diamantaire",
  852.             "Dieseliste",
  853.             "Dieteticien",
  854.             "Diplomate",
  855.             "Directeur",
  856.             "Directeur adjoint",
  857.             "Directeur artistique",
  858.             "Directeur comptable",
  859.             "Directeur d'aeroport",
  860.             "Directeur d'agence bancaire",
  861.             "Directeur d'agence d'interim",
  862.             "Directeur d'ecole",
  863.             "Directeur d'ecole de musique",
  864.             "Directeur d'edition",
  865.             "Directeur d'entreprise",
  866.             "Directeur d'equipements sportifs",
  867.             "Directeur d'etablissement de credit",
  868.             "Directeur d'etablissement sanitaire et social",
  869.             "Directeur d'hopital",
  870.             "Directeur d'hotel",
  871.             "Directeur d'hypermarche",
  872.             "Directeur d'office de tourisme",
  873.             "Directeur de cabaret",
  874.             "Directeur de chaine",
  875.             "Directeur de chorale",
  876.             "Directeur de cinema",
  877.             "Directeur de cirque",
  878.             "Directeur de clinique",
  879.             "Directeur de cooperative",
  880.             "Directeur de creche",
  881.             "Directeur de galerie d'exposition",
  882.             "Directeur de journal",
  883.             "Directeur de l'administration penitentiaire",
  884.             "Directeur de la communication",
  885.             "Directeur de magasin",
  886.             "Directeur de maison des jeunes et de la culture",
  887.             "Directeur de restauration rapide",
  888.             "Directeur de salle de spectacles",
  889.             "Directeur de theatre",
  890.             "Directeur departemental de l'equipement",
  891.             "Directeur des ressources humaines",
  892.             "Directeur du marketing",
  893.             "Directeur financier",
  894.             "Directeur general",
  895.             "Directeur litteraire",
  896.             "Dirigeant de club sportif",
  897.             "Disc jockey",
  898.             "Disquaire",
  899.             "Divers",
  900.             "Docker",
  901.             "Documentaliste",
  902.             "Dresseur de chiens",
  903.             "Droguiste",
  904.             "Ebeniste",
  905.             "Eboueur",
  906.             "Ecclesiastique",
  907.             "Eclusier",
  908.             "Econome",
  909.             "Ecrivain",
  910.             "Ecrivain public",
  911.             "Editeur",
  912.             "Educateur",
  913.             "Educateur de jeunes enfants",
  914.             "Educateur de mjc",
  915.             "Educateur de protection judiciaire de la jeunesse",
  916.             "Educateur specialise",
  917.             "Egoutier",
  918.             "Electricien",
  919.             "Electricien automobile",
  920.             "Electromecanicien",
  921.             "Electronicien",
  922.             "Electronique informatique",
  923.             "Eleve",
  924.             "Eleveur",
  925.             "Emailleur",
  926.             "Employe",
  927.             "Employe agricole",
  928.             "Employe a l'energie atomique",
  929.             "Employe a la caisse d'allocations familiales",
  930.             "Employe a la maintenance des parcmetres",
  931.             "Employe au stationnement payant",
  932.             "Employe aux abattoirs",
  933.             "Employe aux parcs et jardins",
  934.             "Employe d'agence d'interim",
  935.             "Employe d'agence de location de vehicules",
  936.             "Employe d'agence de voyage",
  937.             "Employe d'agence immobiliere",
  938.             "Employe d'ambassade",
  939.             "Employe d'aquaculture",
  940.             "Employe d'assurance",
  941.             "Employe d'electricite de france",
  942.             "Employe d'elevage",
  943.             "Employe d'etablissement de credit",
  944.             "Employe d'etablissement sanitaire et social",
  945.             "Employe d'etude notariale",
  946.             "Employe d'hotel",
  947.             "Employe de banque",
  948.             "Employe de boite de nuit",
  949.             "Employe de bureau",
  950.             "Employe de consulat",
  951.             "Employe de cooperative",
  952.             "Employe de creche",
  953.             "Employe de france telecom",
  954.             "Employe de grande surface",
  955.             "Employe de l'anpe",
  956.             "Employe de l'aviation civile",
  957.             "Employe de l'office national des forets",
  958.             "Employe de la bourse",
  959.             "Employe de la loterie nationale",
  960.             "Employe de la poste",
  961.             "Employe de laboratoire",
  962.             "Employe de maison",
  963.             "Employe de peage",
  964.             "Employe de restauration rapide",
  965.             "Employe de salle de jeux",
  966.             "Employe de salle de spectacles",
  967.             "Employe de service",
  968.             "Employe de station service",
  969.             "Employe des chambres d'agriculture",
  970.             "Employe des chambres de commerce",
  971.             "Employe des eaux",
  972.             "Employe des pistes",
  973.             "Employe des pompes funebres",
  974.             "Employe des ponts et chaussees",
  975.             "Employe des transports urbains",
  976.             "Employe des wagons lits",
  977.             "Employe du commerce",
  978.             "Employe du gaz de france",
  979.             "Employe du pmu",
  980.             "Employe du textile",
  981.             "Employe en horticulture",
  982.             "Endocrinologue",
  983.             "Enseignant",
  984.             "Enseigne de vaisseau 1ere classe",
  985.             "Enseigne de vaisseau 2e classe",
  986.             "Entraineur de chevaux de courses",
  987.             "Entraineur sportif",
  988.             "Entrepreneur de demenagement",
  989.             "Entrepreneur de pompes funebres",
  990.             "Entrepreneur du batiment",
  991.             "Epicier",
  992.             "Equarrisseur",
  993.             "Equipier en restauration rapide",
  994.             "Ergotherapeute",
  995.             "Estheticien",
  996.             "Etancheiste",
  997.             "Ethnologue",
  998.             "Etudiant",
  999.             "Eveque",
  1000.             "Expert",
  1001.             "Expert aupres des tribunaux",
  1002.             "Expert comptable",
  1003.             "Expert en assurances",
  1004.             "Expert en economie",
  1005.             "Expert en objets d'art",
  1006.             "Expert fiscal",
  1007.             "Exploitant agricole",
  1008.             "Exploitant de camping",
  1009.             "Fabricant d'articles de loisirs",
  1010.             "Fabricant d'articles menagers",
  1011.             "Fabricant d'articles vestimentaires",
  1012.             "Fabricant de produits alimentaires",
  1013.             "Fabricant de produits de beaute",
  1014.             "Fabricant de produits du batiment",
  1015.             "Faconneur",
  1016.             "Facteur",
  1017.             "Facteur d'instruments de musique",
  1018.             "Facturier",
  1019.             "Femme de menage",
  1020.             "Fermier",
  1021.             "Ferrailleur",
  1022.             "Ferronnier",
  1023.             "Fileur",
  1024.             "Finances assurance",
  1025.             "Fleuriste",
  1026.             "Floriculteur",
  1027.             "Fonction publique divers",
  1028.             "Fonction publique territoriale",
  1029.             "Fonctionnaire",
  1030.             "Fonctionnaire civil du ministere de la defense",
  1031.             "Fonctionnaire de l'education nationale",
  1032.             "Fonctionnaire de l'equipement",
  1033.             "Fonctionnaire de la caf",
  1034.             "Fonctionnaire de la sante publique",
  1035.             "Fonctionnaire de la securite sociale",
  1036.             "Fonctionnaire de police",
  1037.             "Fonctionnaire de prefecture",
  1038.             "Fonctionnaire des douanes",
  1039.             "Fonctionnaire des impots",
  1040.             "Fonctionnaire du ministere de l'interieur",
  1041.             "Fonctionnaire du ministere de la culture",
  1042.             "Fonctionnaire du ministere de la justice",
  1043.             "Fonctionnaire du ministere des affaires etrangeres",
  1044.             "Fonctionnaire du ministere des finances",
  1045.             "Fonctionnaire du tresor public",
  1046.             "Fonde de pouvoir",
  1047.             "Fondeur",
  1048.             "Footballeur",
  1049.             "Forain",
  1050.             "Foreur",
  1051.             "Forgeron",
  1052.             "Fossoyeur",
  1053.             "Fourreur",
  1054.             "Frigoriste",
  1055.             "Garagiste",
  1056.             "Garcon d'ecurie",
  1057.             "Garcon de cafe",
  1058.             "Garde champetre",
  1059.             "Garde chasse",
  1060.             "Garde du corps",
  1061.             "Garde forestier",
  1062.             "Garde malade",
  1063.             "Garde peche",
  1064.             "Gardien de cimetiere",
  1065.             "Gardien de la paix",
  1066.             "Gardien de musee",
  1067.             "Gardien de nuit",
  1068.             "Gardien de square",
  1069.             "Gastro enterologue",
  1070.             "Gendarme",
  1071.             "Genealogiste",
  1072.             "General",
  1073.             "Geneticien",
  1074.             "Geographe",
  1075.             "Geologue",
  1076.             "Geometre",
  1077.             "Geometre expert",
  1078.             "Geometre topographe",
  1079.             "Geophysicien",
  1080.             "Gerant",
  1081.             "Gerant de brasserie",
  1082.             "Gerant de cantine",
  1083.             "Gerant de casino",
  1084.             "Gerant de magasin",
  1085.             "Gerant de parc de loisirs",
  1086.             "Gerant de restaurant",
  1087.             "Gerant de salle de jeux",
  1088.             "Gerant de salon de the",
  1089.             "Gerant de self service",
  1090.             "Gerant de sex shop",
  1091.             "Gerant de societe",
  1092.             "Gerant de station service",
  1093.             "Gerant de video club",
  1094.             "Gestionnaire de site internet",
  1095.             "Glacier",
  1096.             "Golfeur",
  1097.             "Gouvernant",
  1098.             "Grainetier",
  1099.             "Graphiste",
  1100.             "Graphologue",
  1101.             "Graveur",
  1102.             "Greffier",
  1103.             "Groom",
  1104.             "Grossiste",
  1105.             "Grutier",
  1106.             "Guerisseur",
  1107.             "Guichetier",
  1108.             "Guide",
  1109.             "Guide accompagnateur",
  1110.             "Guide de montagne",
  1111.             "Guide de musee",
  1112.             "Guide interprete",
  1113.             "Gymnaste",
  1114.             "Gynecologue obstetricien",
  1115.             "Handballeur",
  1116.             "Haut fonctionnaire",
  1117.             "Haute personnalite etrangere",
  1118.             "Heliograveur",
  1119.             "Hematologue",
  1120.             "Hepatologue",
  1121.             "Herboriste",
  1122.             "Historien",
  1123.             "Hockeyeur",
  1124.             "Homeopathe",
  1125.             "Homme du rang",
  1126.             "Hongreur",
  1127.             "Horloger bijoutier",
  1128.             "Horticulteur",
  1129.             "Hote d'accueil",
  1130.             "Hotelier",
  1131.             "Hotelier restaurateur",
  1132.             "Hotellerie",
  1133.             "Hotesse de l'air",
  1134.             "Huissier de justice",
  1135.             "Hydrobiologiste",
  1136.             "Hypnotiseur",
  1137.             "Illustrateur",
  1138.             "Imam",
  1139.             "Immunologue",
  1140.             "Imprimeur",
  1141.             "Indeterminee",
  1142.             "Industriel",
  1143.             "Infirmier",
  1144.             "Infographiste",
  1145.             "Informaticien",
  1146.             "Ingenieur",
  1147.             "Ingenieur aeronautique",
  1148.             "Ingenieur commercial",
  1149.             "Ingenieur conseil",
  1150.             "Ingenieur d'etudes et de fabrication",
  1151.             "Ingenieur de police technique et scientifique",
  1152.             "Ingenieur de recherche et de developpement",
  1153.             "Ingenieur des travaux des eaux et forets",
  1154.             "Ingenieur electronicien",
  1155.             "Ingenieur en mecanique",
  1156.             "Ingenieur informaticien",
  1157.             "Ingenieur methode",
  1158.             "Ingenieur reseaux",
  1159.             "Inseminateur",
  1160.             "Inspecteur d'academie",
  1161.             "Inspecteur de la poste",
  1162.             "Inspecteur de la repression des fraudes",
  1163.             "Inspecteur des finances",
  1164.             "Inspecteur du permis de conduire",
  1165.             "Inspecteur du travail",
  1166.             "Inspecteur general de l'administration",
  1167.             "Installateur",
  1168.             "Installateur d'alarme",
  1169.             "Installateur d'antennes",
  1170.             "Installateur d'enseignes",
  1171.             "Installateur de cheminees",
  1172.             "Installateur de stores",
  1173.             "Installateur sanitaire",
  1174.             "Installateur telephonique",
  1175.             "Intendant",
  1176.             "Interimaire",
  1177.             "Intermittent du spectacle",
  1178.             "Interne",
  1179.             "Interprete",
  1180.             "Jardinier",
  1181.             "Jardinier municipal",
  1182.             "Jardinier paysagiste",
  1183.             "Joaillier",
  1184.             "Jockey",
  1185.             "Joueur de tennis",
  1186.             "Journaliste",
  1187.             "Journaliste presentateur",
  1188.             "Journaliste radio",
  1189.             "Journaliste sportif",
  1190.             "Juge",
  1191.             "Juridique office ministeriel",
  1192.             "Juriste",
  1193.             "Kayakiste",
  1194.             "Lamineur",
  1195.             "Laveur de carreaux",
  1196.             "Lecteur",
  1197.             "Legionnaire",
  1198.             "Libraire",
  1199.             "Lieutenant",
  1200.             "Lieutenant colonel",
  1201.             "Lieutenant de vaisseau",
  1202.             "Liftier",
  1203.             "Lingere",
  1204.             "Liquidateur judiciaire",
  1205.             "Lithographe",
  1206.             "Livreur",
  1207.             "Livreur de journaux",
  1208.             "Loueur de vehicules",
  1209.             "Luthier",
  1210.             "Lyceen",
  1211.             "Machiniste",
  1212.             "Macon",
  1213.             "Magasinier",
  1214.             "Magistrat",
  1215.             "Magnetiseur",
  1216.             "Maintenance",
  1217.             "Maire",
  1218.             "Maitre auxiliaire",
  1219.             "Maitre d'hotel",
  1220.             "Maitre de chai",
  1221.             "Maitre de conference",
  1222.             "Maitre de forge",
  1223.             "Maitre de la marine",
  1224.             "Maitre nageur",
  1225.             "Maitre principal",
  1226.             "Major",
  1227.             "Majordome",
  1228.             "Manager de restauration rapide",
  1229.             "Manager sportif",
  1230.             "Manipulateur en electroradiologie",
  1231.             "Mannequin",
  1232.             "Manoeuvre",
  1233.             "Manucure",
  1234.             "Manutentionnaire",
  1235.             "Maquettiste",
  1236.             "Maquilleur professionnel",
  1237.             "Marabout",
  1238.             "Maraicher",
  1239.             "Marbrier",
  1240.             "Marchand ambulant",
  1241.             "Marchand d'articles vestimentaires",
  1242.             "Marchand d'oeuvres d'art",
  1243.             "Marchand de bestiaux",
  1244.             "Marchand de biens",
  1245.             "Marchand de cycles",
  1246.             "Marchand de meubles",
  1247.             "Marchand de pièces détachées",
  1248.             "Marchand de tapis",
  1249.             "Marchand des quatre saisons",
  1250.             "Marechal ferrant",
  1251.             "Mareyeur",
  1252.             "Marin de la marine marchande",
  1253.             "Marin pecheur",
  1254.             "Maroquinier",
  1255.             "Masseur kinesitherapeute",
  1256.             "Matelot",
  1257.             "Mecanicien",
  1258.             "Mecanicien auto",
  1259.             "Mecanicien d'avion",
  1260.             "Mecanicien dentiste",
  1261.             "Mecanicien navigant",
  1262.             "Medecin",
  1263.             "Medecin chef",
  1264.             "Medecin chef de service hospitalier",
  1265.             "Medecin conseil",
  1266.             "Medecin generaliste",
  1267.             "Medecin legiste",
  1268.             "Medecin reeducateur",
  1269.             "Medecin specialiste",
  1270.             "Mediateur",
  1271.             "Medical",
  1272.             "Medium",
  1273.             "Menuisier",
  1274.             "Menuisier charpentier",
  1275.             "Mercier",
  1276.             "Metallurgiste",
  1277.             "Metayer",
  1278.             "Meteorologue",
  1279.             "Metreur",
  1280.             "Metteur en scene",
  1281.             "Meunier",
  1282.             "Militaire",
  1283.             "Mines carrieres industries",
  1284.             "Mineur",
  1285.             "Ministere de l'education nationale",
  1286.             "Ministere de l'interieur",
  1287.             "Ministere de la defense",
  1288.             "Ministere de la justice",
  1289.             "Ministere de la sante et de la solidarite",
  1290.             "Ministere des affaires etrangeres",
  1291.             "Ministere des finances",
  1292.             "Ministere des transports et de l'equipement",
  1293.             "Ministre",
  1294.             "Ministre du culte",
  1295.             "Miroitier",
  1296.             "Moine",
  1297.             "Moniteur d'auto ecole",
  1298.             "Moniteur de ski",
  1299.             "Moniteur de sport",
  1300.             "Moniteur de vol",
  1301.             "Monteur",
  1302.             "Monteur cableur",
  1303.             "Monteur d'ascenseur",
  1304.             "Monteur de cuisine",
  1305.             "Monteur de films",
  1306.             "Motoriste metteur au point",
  1307.             "Mouleur",
  1308.             "Musicien",
  1309.             "Mytiliculteur",
  1310.             "Naturaliste",
  1311.             "Negociant en bois",
  1312.             "Negociant en vins",
  1313.             "Nephrologue",
  1314.             "Neurochirurgien",
  1315.             "Neuropsychiatre",
  1316.             "Notaire",
  1317.             "Numerologue",
  1318.             "Obstetricien",
  1319.             "Oceanographe",
  1320.             "Oenologue",
  1321.             "Officier de la marine marchande",
  1322.             "Officier de police",
  1323.             "Officier de port",
  1324.             "Officier des armees",
  1325.             "Operateur",
  1326.             "Operateur de saisie informatique",
  1327.             "Operateur projectionniste",
  1328.             "Ophtalmologue",
  1329.             "Opticien",
  1330.             "Orfevre",
  1331.             "Organismes etablissements publics",
  1332.             "Orpailleur",
  1333.             "Orthodontiste",
  1334.             "Orthophoniste",
  1335.             "Orthoptiste",
  1336.             "Osteopathe",
  1337.             "Ostreiculteur",
  1338.             "Oto rhino laryngologiste",
  1339.             "Ouvrier",
  1340.             "Ouvrier agricole",
  1341.             "Ouvrier d' aquaculture",
  1342.             "Ouvrier d'etat",
  1343.             "Ouvrier d'imprimerie",
  1344.             "Ouvrier en confection",
  1345.             "Ouvrier forestier",
  1346.             "Ouvrier qualifie",
  1347.             "Ouvrier specialise",
  1348.             "Ouvrier viticulteur",
  1349.             "Palefrenier",
  1350.             "Paludier",
  1351.             "Paramedical",
  1352.             "Parapsychologue",
  1353.             "Parfumeur",
  1354.             "Parqueteur",
  1355.             "Pasteur",
  1356.             "Patineur",
  1357.             "Patissier",
  1358.             "Patron pecheur",
  1359.             "Paveur",
  1360.             "Peche marine marchande",
  1361.             "Pecheur",
  1362.             "Pediatre",
  1363.             "Pedicure",
  1364.             "Pedo psychiatre",
  1365.             "Peintre",
  1366.             "Peintre decorateur",
  1367.             "Peintre en automobiles",
  1368.             "Peintre en batiment",
  1369.             "Peintre tapissier",
  1370.             "Pensionne",
  1371.             "Pepinieriste",
  1372.             "Perruquier",
  1373.             "Personnel medical",
  1374.             "Pharmacien",
  1375.             "Photographe",
  1376.             "Photographe de mode",
  1377.             "Photographe de presse",
  1378.             "Photograveur",
  1379.             "Physicien",
  1380.             "Physiologiste",
  1381.             "Physiotherapeute",
  1382.             "Pigiste",
  1383.             "Pilote d'helicoptere",
  1384.             "Pilote de ligne",
  1385.             "Pilote de port",
  1386.             "Pisciculteur",
  1387.             "Pisciniste",
  1388.             "Pizzaiolo",
  1389.             "Plaquiste",
  1390.             "Platrier",
  1391.             "Plombier",
  1392.             "Plombier chauffagiste",
  1393.             "Plongeur",
  1394.             "Pneumologue",
  1395.             "Podologue",
  1396.             "Poete",
  1397.             "Poissonnier",
  1398.             "Policier municipal",
  1399.             "Politique",
  1400.             "Politologue",
  1401.             "Pompier",
  1402.             "Porcelainier",
  1403.             "Portier",
  1404.             "Poseur d'affiches",
  1405.             "Poseur de revetements",
  1406.             "Poseur de revetements de sol",
  1407.             "Postier",
  1408.             "Potier",
  1409.             "Prefet",
  1410.             "Premier maitre",
  1411.             "Preparateur de commandes",
  1412.             "Preparateur en pharmacie",
  1413.             "Prepose de la poste",
  1414.             "Presentateur",
  1415.             "President d'universite",
  1416.             "President directeur general",
  1417.             "Pretre",
  1418.             "Principal de college",
  1419.             "Procureur de la republique",
  1420.             "Producteur",
  1421.             "Producteur de radio",
  1422.             "Producteur de television",
  1423.             "Professeur",
  1424.             "Professeur de danse",
  1425.             "Professeur de l'enseignement secondaire",
  1426.             "Professeur de l'enseignement superieur",
  1427.             "Professeur des colleges",
  1428.             "Professeur des ecoles",
  1429.             "Proprietaire de haras",
  1430.             "Prostituee",
  1431.             "Prothesiste",
  1432.             "Proviseur",
  1433.             "Psychanalyste",
  1434.             "Psychiatre",
  1435.             "Psychologue",
  1436.             "Psychomotricien",
  1437.             "Psychotherapeute",
  1438.             "Publiciste",
  1439.             "Puericulteur",
  1440.             "Puisatier",
  1441.             "Pyrotechnicien",
  1442.             "Quartier maitre 1ere classe",
  1443.             "Quartier maitre 2e classe",
  1444.             "Quincaillier",
  1445.             "Rabbin",
  1446.             "Radiesthesiste",
  1447.             "Radiologue",
  1448.             "Ramoneur",
  1449.             "Ravaleur de facade",
  1450.             "Realisateur",
  1451.             "Rebouteux",
  1452.             "Receptionniste",
  1453.             "Receveur de la poste",
  1454.             "Recherche",
  1455.             "Recteur",
  1456.             "Redacteur",
  1457.             "Redacteur en chef",
  1458.             "Redacteur publicitaire",
  1459.             "Redacteur territorial",
  1460.             "Regisseur de propriete",
  1461.             "Regisseur de theatre",
  1462.             "Regleur",
  1463.             "Religieux",
  1464.             "Religion",
  1465.             "Remouleur",
  1466.             "Rempailleur de chaises",
  1467.             "Rentier",
  1468.             "Repetiteur",
  1469.             "Reporter",
  1470.             "Representant",
  1471.             "Responsable de communication",
  1472.             "Responsable de la securite",
  1473.             "Responsable de marketing",
  1474.             "Restaurateur",
  1475.             "Restaurateur d'art",
  1476.             "Retoucheur",
  1477.             "Retraite",
  1478.             "Rhumatologue",
  1479.             "Rmiste",
  1480.             "Rugbyman",
  1481.             "Sacristain",
  1482.             "Sage femme",
  1483.             "Saisonnier",
  1484.             "Salinier",
  1485.             "Sans profession",
  1486.             "Santonnier",
  1487.             "Scenariste",
  1488.             "Scientifique",
  1489.             "Scolarite formation",
  1490.             "Scripte",
  1491.             "Sculpteur",
  1492.             "Second maitre",
  1493.             "Secretaire",
  1494.             "Secretaire administratif",
  1495.             "Secretaire bilingue",
  1496.             "Secretaire comptable",
  1497.             "Secretaire d etat",
  1498.             "Secretaire de direction",
  1499.             "Secretaire de mairie",
  1500.             "Secretaire de redaction",
  1501.             "Secretaire general de prefecture",
  1502.             "Secretaire juridique",
  1503.             "Secretaire medicale",
  1504.             "Secretaire trilingue",
  1505.             "Sellier",
  1506.             "Seminariste",
  1507.             "Senateur",
  1508.             "Sergent",
  1509.             "Sergent chef",
  1510.             "Serigraphe",
  1511.             "Serrurier",
  1512.             "Serveur",
  1513.             "Serveur de cantine",
  1514.             "Serveur de restaurant",
  1515.             "Services aux particuliers et aux entreprises",
  1516.             "Sexologue",
  1517.             "Sociologue",
  1518.             "Sommelier",
  1519.             "Sophrologue",
  1520.             "Soudeur",
  1521.             "Souffleur de verre",
  1522.             "Sous lieutenant",
  1523.             "Sous officier de la marine marchande",
  1524.             "Sous officier des armees",
  1525.             "Sous prefet",
  1526.             "Spectacles arts et lettres",
  1527.             "Sport",
  1528.             "Sportif professionnel",
  1529.             "Staffeur",
  1530.             "Stagiaire",
  1531.             "Standardiste",
  1532.             "Statisticien",
  1533.             "Steward",
  1534.             "Stomatologue",
  1535.             "Styliste",
  1536.             "Surveillant d'etablissement scolaire",
  1537.             "Surveillant de l'administration penitentiaire",
  1538.             "Sylviculteur",
  1539.             "Syndic de copropriete",
  1540.             "Tailleur",
  1541.             "Tailleur de pierres",
  1542.             "Tanneur",
  1543.             "Tapissier",
  1544.             "Tatoueur",
  1545.             "Taxidermiste",
  1546.             "Technicien",
  1547.             "Technicien de maintenance",
  1548.             "Technicien de plateau",
  1549.             "Technicien de police technique et scientifique",
  1550.             "Technicien du son",
  1551.             "Technicien en effets speciaux",
  1552.             "Technicien en intervention sociale et familiale",
  1553.             "Technicien thermicien",
  1554.             "Technicien video",
  1555.             "Teinturier",
  1556.             "Teinturier coloriste",
  1557.             "Teleoperateur",
  1558.             "Televendeur",
  1559.             "Terrassier",
  1560.             "Tisserand",
  1561.             "Tisseur",
  1562.             "Toiletteur pour chiens",
  1563.             "Tolier",
  1564.             "Tonnelier",
  1565.             "Topographe",
  1566.             "Torrefacteur",
  1567.             "Tourisme culture loisirs",
  1568.             "Tourneur fraiseur",
  1569.             "Traceur",
  1570.             "Traducteur",
  1571.             "Traducteur litteraire",
  1572.             "Transporteur de fonds",
  1573.             "Transports logistique",
  1574.             "Trefileur",
  1575.             "Trufficulteur",
  1576.             "Tueur aux abattoirs",
  1577.             "Tuyauteur",
  1578.             "Typographe",
  1579.             "Urbaniste",
  1580.             "Urologue",
  1581.             "Vacataire",
  1582.             "Vacher",
  1583.             "Vaguemestre",
  1584.             "Valet de chambre",
  1585.             "Vannier",
  1586.             "Veilleur de nuit",
  1587.             "Veliplanchiste",
  1588.             "Vendangeur",
  1589.             "Vendeur",
  1590.             "Vendeur demonstrateur",
  1591.             "Venereologue",
  1592.             "Verrier",
  1593.             "Veterinaire",
  1594.             "Vidangeur",
  1595.             "Visiteur medical",
  1596.             "Viticulteur",
  1597.             "Vitrier",
  1598.             "Voiturier",
  1599.             "Volailler",
  1600.             "Volcanologue",
  1601.             "Volleyeur",
  1602.             "Voyagiste",
  1603.             "Voyant",
  1604.             "Webmaster",
  1605.             "Zingueur",
  1606.             "Zoologiste"
  1607.         ];
  1608.         return array_combine($arr$arr);
  1609.     }
  1610.     public static function getCivilities()
  1611.     {
  1612.         $arr = [
  1613.             "male",
  1614.             "female",
  1615.         ];
  1616.         return array_combine($arr$arr);
  1617.     }
  1618.     public static function getPartnerTypes()
  1619.     {
  1620.         $arr = [
  1621.             "Conjoint",
  1622.             "Enfant",
  1623.         ];
  1624.         return array_combine($arr$arr);
  1625.     }
  1626.     public static function getFamilySituations(?string $civility null)
  1627.     {
  1628.         if ($civility === 'male') {
  1629.             $arr = [
  1630.                 'Célibataire' => 'single',
  1631.                 'Concubinage' => 'cohabitant',
  1632.                 'Marié' => 'married',
  1633.                 'Pacsé' => 'civilPartnership',
  1634.                 'Divorcé' => 'divorced',
  1635.                 'Veuf' => 'widower',
  1636.             ];
  1637.         } elseif ($civility === 'female') {
  1638.             $arr = [
  1639.                 'Célibataire' => 'single',
  1640.                 'Concubinage' => 'cohabitant',
  1641.                 'Mariée' => 'marriedf',
  1642.                 'Pacsée' => 'civilPartnershipf',
  1643.                 'Divorcée' => 'divorcedf',
  1644.                 'Veuve' => 'widowerf',
  1645.             ];
  1646.         } else {
  1647.             $arr = [
  1648.                 'Célibataire' => 'single',
  1649.                 'Concubinage' => 'cohabitant',
  1650.                 'Marié' => 'married',
  1651.                 'Pacsé' => 'civilPartnership',
  1652.                 'Divorcé' => 'divorced',
  1653.                 'Veuf' => 'widower',
  1654.                 'Mariée' => 'marriedf',
  1655.                 'Pacsée' => 'civilPartnershipf',
  1656.                 'Divorcée' => 'divorcedf',
  1657.                 'Veuve' => 'widowerf',
  1658.             ];
  1659.         }
  1660.         return $arr;
  1661.     }
  1662.     public static function getIdentityCardTypes($nationality null)
  1663.     {
  1664.         if ($nationality == "Française" || $nationality == "FX – France métropolitaine" || !$nationality) {
  1665.             $arr = [
  1666.                 "Passeport",
  1667.                 "Carte d'identité",
  1668.             ];
  1669.         } else {
  1670.             $arr = [
  1671.                 "Passeport",
  1672.                 "Carte de séjour",
  1673.                 "Récepissé de demande de titre de séjour",
  1674.             ];
  1675.         }
  1676.         return array_combine($arr$arr);
  1677.     }
  1678.     public function __toString()
  1679.     {
  1680.         return "#" $this->id " - " $this->firstName " " $this->lastName;
  1681.     }
  1682.     public function getSecondIdentityCardFile()
  1683.     {
  1684.         return $this->secondIdentityCardFile;
  1685.     }
  1686.     /**
  1687.      * If manually uploading a file (i.e. not using Symfony Form) ensure an instance
  1688.      * of 'UploadedFile' is injected into this setter to trigger the  update. If this
  1689.      * bundle's configuration parameter 'inject_on_load' is set to 'true' this setter
  1690.      * must be able to accept an instance of 'File' as the bundle will inject one here
  1691.      * during Doctrine hydration.
  1692.      *
  1693.      * @param File|\Symfony\Component\HttpFoundation\File\UploadedFile $image
  1694.      */
  1695.     public function setSecondIdentityCardFile(File $image null)
  1696.     {
  1697.         $this->secondIdentityCardFile $image;
  1698.         if (null !== $image) {
  1699.             // It is required that at least one field changes if you are using doctrine
  1700.             // otherwise the event listeners won't be called and the file is lost
  1701.             $this->secondIdentityCardFileUpdatedAt = new \DateTime();
  1702.         }
  1703.     }
  1704.     public function setSuperAdmin($boolean)
  1705.     {
  1706.         if (true === $boolean) {
  1707.             $this->addRole(static::ROLE_SUPER_ADMIN);
  1708.         } else {
  1709.             $this->removeRole(static::ROLE_SUPER_ADMIN);
  1710.         }
  1711.         return $this;
  1712.     }
  1713.     public function addRole($role)
  1714.     {
  1715.         $role strtoupper($role);
  1716.         if ($role === static::ROLE_DEFAULT) {
  1717.             return $this;
  1718.         }
  1719.         if (!in_array($role$this->rolestrue)) {
  1720.             $this->roles[] = $role;
  1721.         }
  1722.         return $this;
  1723.     }
  1724.     public function removeRole($role)
  1725.     {
  1726.         if (false !== $key array_search(strtoupper($role), $this->rolestrue)) {
  1727.             unset($this->roles[$key]);
  1728.             $this->roles array_values($this->roles);
  1729.         }
  1730.         return $this;
  1731.     }
  1732.     public function isSuperAdmin()
  1733.     {
  1734.         return $this->hasRole(static::ROLE_SUPER_ADMIN);
  1735.     }
  1736.     public function hasRole($role)
  1737.     {
  1738.         return in_array(strtoupper($role), $this->getRoles(), true);
  1739.     }
  1740.     /**
  1741.      * @see UserInterface
  1742.      */
  1743.     public function getRoles(): array
  1744.     {
  1745.         $roles $this->roles;
  1746.         // guarantee every user at least has ROLE_USER
  1747.         $roles[] = 'ROLE_USER';
  1748.         return array_unique($roles);
  1749.     }
  1750.     public function setRoles(array $roles): self
  1751.     {
  1752.         $this->roles = [];
  1753.         foreach ($roles as $role) {
  1754.             $this->addRole($role);
  1755.         }
  1756.         return $this;
  1757.     }
  1758.     /**
  1759.      * @return string
  1760.      */
  1761.     public function getEmail(): string
  1762.     {
  1763.         return $this->email;
  1764.     }
  1765.     /**
  1766.      * Sets the email.
  1767.      *
  1768.      * @param string $email
  1769.      * @return User
  1770.      */
  1771.     public function setEmail(string $email): self
  1772.     {
  1773.         $this->email $email;
  1774.         return $this;
  1775.     }
  1776.     /**
  1777.      * Get id
  1778.      *
  1779.      * @return int
  1780.      */
  1781.     public function getId()
  1782.     {
  1783.         return $this->id;
  1784.     }
  1785.     /**
  1786.      * Get company
  1787.      *
  1788.      * @return string
  1789.      */
  1790.     public function getCompany()
  1791.     {
  1792.         return $this->company;
  1793.     }
  1794.     /**
  1795.      * Set company
  1796.      *
  1797.      * @param string $company
  1798.      *
  1799.      * @return User
  1800.      */
  1801.     public function setCompany($company)
  1802.     {
  1803.         $this->company $company;
  1804.         return $this;
  1805.     }
  1806.     /**
  1807.      * Get civility
  1808.      *
  1809.      * @return string
  1810.      */
  1811.     public function getCivility()
  1812.     {
  1813.         return $this->civility;
  1814.     }
  1815.     /**
  1816.      * Set civility
  1817.      *
  1818.      * @param string $civility
  1819.      *
  1820.      * @return User
  1821.      */
  1822.     public function setCivility($civility)
  1823.     {
  1824.         $this->civility $civility;
  1825.         return $this;
  1826.     }
  1827.     /**
  1828.      * Get lastName
  1829.      *
  1830.      * @return string
  1831.      */
  1832.     public function getLastName()
  1833.     {
  1834.         return $this->lastName;
  1835.     }
  1836.     /**
  1837.      * Set lastName
  1838.      *
  1839.      * @param string $lastName
  1840.      *
  1841.      * @return User
  1842.      */
  1843.     public function setLastName($lastName)
  1844.     {
  1845.         $this->lastName $lastName;
  1846.         return $this;
  1847.     }
  1848.     /**
  1849.      * Get lastName to show
  1850.      * partnerName or lastname (from birth)
  1851.      *
  1852.      * @return string
  1853.      */
  1854.     public function getLastNameToShow()
  1855.     {
  1856.         if (!empty($this->partnerName)) {
  1857.             return $this->partnerName;
  1858.         } else {
  1859.             return $this->lastName;
  1860.         }
  1861.     }
  1862.     /**
  1863.      * Get firstName
  1864.      *
  1865.      * @return string
  1866.      */
  1867.     public function getFirstName()
  1868.     {
  1869.         return $this->firstName;
  1870.     }
  1871.     /**
  1872.      * Set firstName
  1873.      *
  1874.      * @param string $firstName
  1875.      *
  1876.      * @return User
  1877.      */
  1878.     public function setFirstName($firstName)
  1879.     {
  1880.         $this->firstName $firstName;
  1881.         return $this;
  1882.     }
  1883.     /**
  1884.      * Get phoneNumber
  1885.      *
  1886.      * @return string
  1887.      */
  1888.     public function getPhoneNumber()
  1889.     {
  1890.         return $this->phoneNumber;
  1891.     }
  1892.     public function getYouSignPhoneNumber(): string
  1893.     {
  1894.         $phone $this->phoneNumber;
  1895.         if (substr($phone01) == "+") {
  1896.             return $phone;
  1897.         }
  1898.         if (substr($phone02) == "00") {
  1899.             return "+" substr($phone2);
  1900.         }
  1901.         return "+33" substr($phone1);
  1902.     }
  1903.     /**
  1904.      * Set phoneNumber
  1905.      *
  1906.      * @param string $phoneNumber
  1907.      *
  1908.      * @return User
  1909.      */
  1910.     public function setPhoneNumber($phoneNumber)
  1911.     {
  1912.         $this->phoneNumber $phoneNumber;
  1913.         return $this;
  1914.     }
  1915.     /**
  1916.      * Get createdAt
  1917.      *
  1918.      * @return DateTime
  1919.      */
  1920.     public function getCreatedAt()
  1921.     {
  1922.         return $this->createdAt;
  1923.     }
  1924.     /**
  1925.      * Set createdAt
  1926.      *
  1927.      * @param DateTime $createdAt
  1928.      *
  1929.      * @return User
  1930.      */
  1931.     public function setCreatedAt($createdAt)
  1932.     {
  1933.         $this->createdAt $createdAt;
  1934.         return $this;
  1935.     }
  1936.     /**
  1937.      * Get phoneNumberConfirmationCode
  1938.      *
  1939.      * @return string
  1940.      */
  1941.     public function getPhoneNumberConfirmationCode()
  1942.     {
  1943.         return $this->phoneNumberConfirmationCode;
  1944.     }
  1945.     /**
  1946.      * Set phoneNumberConfirmationCode
  1947.      *
  1948.      * @param string $phoneNumberConfirmationCode
  1949.      *
  1950.      * @return User
  1951.      */
  1952.     public function setPhoneNumberConfirmationCode($phoneNumberConfirmationCode)
  1953.     {
  1954.         $this->phoneNumberConfirmationCode $phoneNumberConfirmationCode;
  1955.         return $this;
  1956.     }
  1957.     /**
  1958.      * Get birthDate
  1959.      *
  1960.      * @return DateTime
  1961.      */
  1962.     public function getBirthDate()
  1963.     {
  1964.         return $this->birthDate;
  1965.     }
  1966.     /**
  1967.      * Set birthDate
  1968.      *
  1969.      * @param DateTime $birthDate
  1970.      *
  1971.      * @return User
  1972.      */
  1973.     public function setBirthDate($birthDate)
  1974.     {
  1975.         $this->birthDate $birthDate;
  1976.         return $this;
  1977.     }
  1978.     /**
  1979.      * Get birthCountry
  1980.      *
  1981.      * @return string
  1982.      */
  1983.     public function getBirthCountry()
  1984.     {
  1985.         return $this->birthCountry;
  1986.     }
  1987.     /**
  1988.      * Set birthCountry
  1989.      *
  1990.      * @param string $birthCountry
  1991.      *
  1992.      * @return User
  1993.      */
  1994.     public function setBirthCountry($birthCountry)
  1995.     {
  1996.         $this->birthCountry $birthCountry;
  1997.         return $this;
  1998.     }
  1999.     /**
  2000.      * Get birthCity
  2001.      *
  2002.      * @return string
  2003.      */
  2004.     public function getBirthCity()
  2005.     {
  2006.         return $this->birthCity;
  2007.     }
  2008.     /**
  2009.      * Set birthCity
  2010.      *
  2011.      * @param string $birthCity
  2012.      *
  2013.      * @return User
  2014.      */
  2015.     public function setBirthCity($birthCity)
  2016.     {
  2017.         $this->birthCity $birthCity;
  2018.         return $this;
  2019.     }
  2020.     /**
  2021.      * Get birthZipCode
  2022.      *
  2023.      * @return string
  2024.      */
  2025.     public function getBirthZipCode()
  2026.     {
  2027.         return $this->birthZipCode;
  2028.     }
  2029.     /**
  2030.      * Set birthZipCode
  2031.      *
  2032.      * @param string $birthZipCode
  2033.      *
  2034.      * @return User
  2035.      */
  2036.     public function setBirthZipCode($birthZipCode)
  2037.     {
  2038.         $this->birthZipCode $birthZipCode;
  2039.         return $this;
  2040.     }
  2041.     /**
  2042.      * Get birthDepartment
  2043.      *
  2044.      * @return string
  2045.      */
  2046.     public function getBirthDepartment()
  2047.     {
  2048.         return $this->birthDepartment;
  2049.     }
  2050.     /**
  2051.      * Set birthDepartment
  2052.      *
  2053.      * @param string $birthDepartment
  2054.      *
  2055.      * @return User
  2056.      */
  2057.     public function setBirthDepartment($birthDepartment)
  2058.     {
  2059.         $this->birthDepartment $birthDepartment;
  2060.         return $this;
  2061.     }
  2062.     /**
  2063.      * Get familySituation
  2064.      *
  2065.      * @return string
  2066.      */
  2067.     public function getFamilySituation()
  2068.     {
  2069.         return $this->familySituation;
  2070.     }
  2071.     /**
  2072.      * Set familySituation
  2073.      *
  2074.      * @param string $familySituation
  2075.      *
  2076.      * @return User
  2077.      */
  2078.     public function setFamilySituation($familySituation)
  2079.     {
  2080.         $this->familySituation $familySituation;
  2081.         return $this;
  2082.     }
  2083.     /**
  2084.      * Get nationality
  2085.      *
  2086.      * @return string
  2087.      */
  2088.     public function getNationality()
  2089.     {
  2090.         return $this->nationality;
  2091.     }
  2092.     /**
  2093.      * Set nationality
  2094.      *
  2095.      * @param string $nationality
  2096.      *
  2097.      * @return User
  2098.      */
  2099.     public function setNationality($nationality)
  2100.     {
  2101.         $this->nationality $nationality;
  2102.         return $this;
  2103.     }
  2104.     /**
  2105.      * Get profession
  2106.      *
  2107.      * @return string
  2108.      */
  2109.     public function getProfession()
  2110.     {
  2111.         return $this->profession;
  2112.     }
  2113.     /**
  2114.      * Set profession
  2115.      *
  2116.      * @param string $profession
  2117.      *
  2118.      * @return User
  2119.      */
  2120.     public function setProfession($profession)
  2121.     {
  2122.         $this->profession $profession;
  2123.         return $this;
  2124.     }
  2125.     /**
  2126.      * Get promotionalCode
  2127.      *
  2128.      * @return string
  2129.      */
  2130.     public function getPromotionalCode()
  2131.     {
  2132.         return $this->promotionalCode;
  2133.     }
  2134.     /**
  2135.      * Set promotionalCode
  2136.      *
  2137.      * @param string $promotionalCode
  2138.      *
  2139.      * @return User
  2140.      */
  2141.     public function setPromotionalCode($promotionalCode)
  2142.     {
  2143.         $this->promotionalCode $promotionalCode;
  2144.         return $this;
  2145.     }
  2146.     /**
  2147.      * Add document
  2148.      *
  2149.      * @param \App\Entity\Document $document
  2150.      *
  2151.      * @return User
  2152.      */
  2153.     public function addDocument(\App\Entity\Document $document)
  2154.     {
  2155.         $this->documents[] = $document;
  2156.         return $this;
  2157.     }
  2158.     /**
  2159.      * Remove document
  2160.      *
  2161.      * @param \App\Entity\Document $document
  2162.      */
  2163.     public function removeDocument(\App\Entity\Document $document)
  2164.     {
  2165.         $this->documents->removeElement($document);
  2166.     }
  2167.     /**
  2168.      * Get documents
  2169.      *
  2170.      * @return \Doctrine\Common\Collections\Collection
  2171.      */
  2172.     public function getDocuments()
  2173.     {
  2174.         return $this->documents;
  2175.     }
  2176.     /**
  2177.      * Add video
  2178.      *
  2179.      * @param \App\Entity\Video $video
  2180.      *
  2181.      * @return User
  2182.      */
  2183.     public function addVideo(\App\Entity\Video $video)
  2184.     {
  2185.         $this->videos[] = $video;
  2186.         return $this;
  2187.     }
  2188.     /**
  2189.      * Remove video
  2190.      *
  2191.      * @param \App\Entity\Video $video
  2192.      */
  2193.     public function removeVideo(\App\Entity\Video $video)
  2194.     {
  2195.         $this->videos->removeElement($video);
  2196.     }
  2197.     /**
  2198.      * Get videos
  2199.      *
  2200.      * @return \Doctrine\Common\Collections\Collection
  2201.      */
  2202.     public function getVideos()
  2203.     {
  2204.         return $this->videos;
  2205.     }
  2206.     /**
  2207.      * Add item
  2208.      *
  2209.      * @param \App\Entity\Item $item
  2210.      *
  2211.      * @return User
  2212.      */
  2213.     public function addItem(\App\Entity\Item $item)
  2214.     {
  2215.         $this->items[] = $item;
  2216.         return $this;
  2217.     }
  2218.     /**
  2219.      * Remove item
  2220.      *
  2221.      * @param \App\Entity\Item $item
  2222.      */
  2223.     public function removeItem(\App\Entity\Item $item)
  2224.     {
  2225.         $this->items->removeElement($item);
  2226.     }
  2227.     /**
  2228.      * Get items
  2229.      *
  2230.      * @return \Doctrine\Common\Collections\Collection
  2231.      */
  2232.     public function getItems(bool $all truebool $withoutInsuranceFilter false)
  2233.     {
  2234.         if ($all)
  2235.             return $this->items;
  2236.         return $this->items->filter(function (Item $item) use ($withoutInsuranceFilter) {
  2237.             if (!$item->getIsDeleted() && (!$withoutInsuranceFilter || !$item->hasActiveInsurance()))
  2238.                 return $item;
  2239.             return false;
  2240.         });
  2241.     }
  2242.     /**
  2243.      * Add insurance
  2244.      *
  2245.      * @param \App\Entity\Insurance $insurance
  2246.      *
  2247.      * @return User
  2248.      */
  2249.     public function addInsurance(\App\Entity\Insurance $insurance)
  2250.     {
  2251.         $this->insurances[] = $insurance;
  2252.         return $this;
  2253.     }
  2254.     /**
  2255.      * Remove insurance
  2256.      *
  2257.      * @param \App\Entity\Insurance $insurance
  2258.      */
  2259.     public function removeInsurance(\App\Entity\Insurance $insurance)
  2260.     {
  2261.         $this->insurances->removeElement($insurance);
  2262.     }
  2263.     /**
  2264.      * Get insurances
  2265.      *
  2266.      * @return \Doctrine\Common\Collections\Collection
  2267.      */
  2268.     public function getInsurances()
  2269.     {
  2270.         return $this->insurances;
  2271.     }
  2272.     /**
  2273.      * Add goodAssignement
  2274.      *
  2275.      * @param \App\Entity\GoodAssignement $goodAssignement
  2276.      *
  2277.      * @return User
  2278.      */
  2279.     public function addGoodAssignement(\App\Entity\GoodAssignement $goodAssignement)
  2280.     {
  2281.         $this->goodAssignements[] = $goodAssignement;
  2282.         return $this;
  2283.     }
  2284.     /**
  2285.      * Remove goodAssignement
  2286.      *
  2287.      * @param \App\Entity\GoodAssignement $goodAssignement
  2288.      */
  2289.     public function removeGoodAssignement(\App\Entity\GoodAssignement $goodAssignement)
  2290.     {
  2291.         $this->goodAssignements->removeElement($goodAssignement);
  2292.     }
  2293.     /**
  2294.      * Get goodAssignements
  2295.      *
  2296.      * @return \Doctrine\Common\Collections\Collection
  2297.      */
  2298.     public function getGoodAssignements()
  2299.     {
  2300.         return $this->goodAssignements;
  2301.     }
  2302.     /**
  2303.      * Add qrCode
  2304.      *
  2305.      * @param \App\Entity\QrCode $qrCode
  2306.      *
  2307.      * @return User
  2308.      */
  2309.     public function addQrCode(\App\Entity\QrCode $qrCode)
  2310.     {
  2311.         $this->qrCodes[] = $qrCode;
  2312.         return $this;
  2313.     }
  2314.     /**
  2315.      * Remove qrCode
  2316.      *
  2317.      * @param \App\Entity\QrCode $qrCode
  2318.      */
  2319.     public function removeQrCode(\App\Entity\QrCode $qrCode)
  2320.     {
  2321.         $this->qrCodes->removeElement($qrCode);
  2322.     }
  2323.     /**
  2324.      * Get qrCodes
  2325.      *
  2326.      * @return \Doctrine\Common\Collections\Collection
  2327.      */
  2328.     public function getQrCodes()
  2329.     {
  2330.         return $this->qrCodes;
  2331.     }
  2332.     /**
  2333.      * Add steal
  2334.      *
  2335.      * @param \App\Entity\Steal $steal
  2336.      *
  2337.      * @return User
  2338.      */
  2339.     public function addSteal(\App\Entity\Steal $steal)
  2340.     {
  2341.         $this->steals[] = $steal;
  2342.         return $this;
  2343.     }
  2344.     /**
  2345.      * Remove steal
  2346.      *
  2347.      * @param \App\Entity\Steal $steal
  2348.      */
  2349.     public function removeSteal(\App\Entity\Steal $steal)
  2350.     {
  2351.         $this->steals->removeElement($steal);
  2352.     }
  2353.     /**
  2354.      * Get steals
  2355.      *
  2356.      * @return \Doctrine\Common\Collections\Collection
  2357.      */
  2358.     public function getSteals()
  2359.     {
  2360.         return $this->steals;
  2361.     }
  2362.     /**
  2363.      * Get partnerType
  2364.      *
  2365.      * @return string
  2366.      */
  2367.     public function getPartnerType()
  2368.     {
  2369.         return $this->partnerType;
  2370.     }
  2371.     /**
  2372.      * Set partnerType
  2373.      *
  2374.      * @param string $partnerType
  2375.      *
  2376.      * @return User
  2377.      */
  2378.     public function setPartnerType($partnerType)
  2379.     {
  2380.         $this->partnerType $partnerType;
  2381.         return $this;
  2382.     }
  2383.     /**
  2384.      * Get suscribedToNewsletter
  2385.      *
  2386.      * @return boolean
  2387.      */
  2388.     public function getSuscribedToNewsletter()
  2389.     {
  2390.         return $this->suscribedToNewsletter;
  2391.     }
  2392.     /**
  2393.      * Set suscribedToNewsletter
  2394.      *
  2395.      * @param boolean $suscribedToNewsletter
  2396.      *
  2397.      * @return User
  2398.      */
  2399.     public function setSuscribedToNewsletter($suscribedToNewsletter)
  2400.     {
  2401.         $this->suscribedToNewsletter $suscribedToNewsletter;
  2402.         return $this;
  2403.     }
  2404.     /**
  2405.      * Get acceptPartnerProspecting
  2406.      *
  2407.      * @return boolean
  2408.      */
  2409.     public function getAcceptPartnerProspecting()
  2410.     {
  2411.         return $this->acceptPartnerProspecting;
  2412.     }
  2413.     /**
  2414.      * Set acceptPartnerProspecting
  2415.      *
  2416.      * @param boolean $acceptPartnerProspecting
  2417.      *
  2418.      * @return User
  2419.      */
  2420.     public function setAcceptPartnerProspecting($acceptPartnerProspecting)
  2421.     {
  2422.         $this->acceptPartnerProspecting $acceptPartnerProspecting;
  2423.         return $this;
  2424.     }
  2425.     /**
  2426.      * Add fillingComplaint
  2427.      *
  2428.      * @param \App\Entity\FillingComplaint $fillingComplaint
  2429.      *
  2430.      * @return User
  2431.      */
  2432.     public function addFillingComplaint(\App\Entity\FillingComplaint $fillingComplaint)
  2433.     {
  2434.         $this->fillingComplaints[] = $fillingComplaint;
  2435.         return $this;
  2436.     }
  2437.     /**
  2438.      * Remove fillingComplaint
  2439.      *
  2440.      * @param \App\Entity\FillingComplaint $fillingComplaint
  2441.      */
  2442.     public function removeFillingComplaint(\App\Entity\FillingComplaint $fillingComplaint)
  2443.     {
  2444.         $this->fillingComplaints->removeElement($fillingComplaint);
  2445.     }
  2446.     /**
  2447.      * Get fillingComplaints
  2448.      *
  2449.      * @return \Doctrine\Common\Collections\Collection
  2450.      */
  2451.     public function getFillingComplaints()
  2452.     {
  2453.         return $this->fillingComplaints;
  2454.     }
  2455.     /**
  2456.      * Add disasterDeclaration
  2457.      *
  2458.      * @param \App\Entity\DisasterDeclaration $disasterDeclaration
  2459.      *
  2460.      * @return User
  2461.      */
  2462.     public function addDisasterDeclaration(\App\Entity\DisasterDeclaration $disasterDeclaration)
  2463.     {
  2464.         $this->disasterDeclarations[] = $disasterDeclaration;
  2465.         return $this;
  2466.     }
  2467.     /**
  2468.      * Remove disasterDeclaration
  2469.      *
  2470.      * @param \App\Entity\DisasterDeclaration $disasterDeclaration
  2471.      */
  2472.     public function removeDisasterDeclaration(\App\Entity\DisasterDeclaration $disasterDeclaration)
  2473.     {
  2474.         $this->disasterDeclarations->removeElement($disasterDeclaration);
  2475.     }
  2476.     /**
  2477.      * Get disasterDeclarations
  2478.      *
  2479.      * @return \Doctrine\Common\Collections\Collection
  2480.      */
  2481.     public function getDisasterDeclarations()
  2482.     {
  2483.         return $this->disasterDeclarations;
  2484.     }
  2485.     /**
  2486.      * Get stripeCustomerId
  2487.      *
  2488.      * @return string
  2489.      */
  2490.     public function getStripeCustomerId()
  2491.     {
  2492.         return $this->stripeCustomerId;
  2493.     }
  2494.     /**
  2495.      * Set stripeCustomerId
  2496.      *
  2497.      * @param string $stripeCustomerId
  2498.      *
  2499.      * @return User
  2500.      */
  2501.     public function setStripeCustomerId($stripeCustomerId)
  2502.     {
  2503.         $this->stripeCustomerId $stripeCustomerId;
  2504.         return $this;
  2505.     }
  2506.     /**
  2507.      * Add charge
  2508.      *
  2509.      * @param \App\Entity\Charge $charge
  2510.      *
  2511.      * @return User
  2512.      */
  2513.     public function addCharge(\App\Entity\Charge $charge)
  2514.     {
  2515.         $this->charges[] = $charge;
  2516.         return $this;
  2517.     }
  2518.     /**
  2519.      * Remove charge
  2520.      *
  2521.      * @param \App\Entity\Charge $charge
  2522.      */
  2523.     public function removeCharge(\App\Entity\Charge $charge)
  2524.     {
  2525.         $this->charges->removeElement($charge);
  2526.     }
  2527.     /**
  2528.      * Get charges
  2529.      *
  2530.      * @return \Doctrine\Common\Collections\Collection
  2531.      */
  2532.     public function getCharges()
  2533.     {
  2534.         return $this->charges;
  2535.     }
  2536.     /**
  2537.      * Add insuranceDisasterDeclaration
  2538.      *
  2539.      * @param \App\Entity\InsuranceDisasterDeclaration $insuranceDisasterDeclaration
  2540.      *
  2541.      * @return User
  2542.      */
  2543.     public function addInsuranceDisasterDeclaration(\App\Entity\InsuranceDisasterDeclaration $insuranceDisasterDeclaration)
  2544.     {
  2545.         $this->insuranceDisasterDeclarations[] = $insuranceDisasterDeclaration;
  2546.         return $this;
  2547.     }
  2548.     /**
  2549.      * Remove insuranceDisasterDeclaration
  2550.      *
  2551.      * @param \App\Entity\InsuranceDisasterDeclaration $insuranceDisasterDeclaration
  2552.      */
  2553.     public function removeInsuranceDisasterDeclaration(\App\Entity\InsuranceDisasterDeclaration $insuranceDisasterDeclaration)
  2554.     {
  2555.         $this->insuranceDisasterDeclarations->removeElement($insuranceDisasterDeclaration);
  2556.     }
  2557.     /**
  2558.      * Get insuranceDisasterDeclarations
  2559.      *
  2560.      * @return \Doctrine\Common\Collections\Collection
  2561.      */
  2562.     public function getInsuranceDisasterDeclarations()
  2563.     {
  2564.         return $this->insuranceDisasterDeclarations;
  2565.     }
  2566.     /**
  2567.      * Get signature
  2568.      *
  2569.      * @return string
  2570.      */
  2571.     public function getSignature()
  2572.     {
  2573.         return $this->signature;
  2574.     }
  2575.     /**
  2576.      * Set signature
  2577.      *
  2578.      * @param string $signature
  2579.      *
  2580.      * @return User
  2581.      */
  2582.     public function setSignature($signature)
  2583.     {
  2584.         $this->signature $signature;
  2585.         return $this;
  2586.     }
  2587.     /**
  2588.      * Get hasAcceptedConditions
  2589.      *
  2590.      * @return boolean
  2591.      */
  2592.     public function getHasAcceptedConditions()
  2593.     {
  2594.         return $this->hasAcceptedConditions;
  2595.     }
  2596.     /**
  2597.      * Set hasAcceptedConditions
  2598.      *
  2599.      * @param boolean $hasAcceptedConditions
  2600.      *
  2601.      * @return User
  2602.      */
  2603.     public function setHasAcceptedConditions($hasAcceptedConditions)
  2604.     {
  2605.         $this->hasAcceptedConditions $hasAcceptedConditions;
  2606.         return $this;
  2607.     }
  2608.     /**
  2609.      * Get firstLogin
  2610.      *
  2611.      * @return boolean
  2612.      */
  2613.     public function getFirstLogin()
  2614.     {
  2615.         return $this->firstLogin;
  2616.     }
  2617.     /**
  2618.      * Set firstLogin
  2619.      *
  2620.      * @param boolean $firstLogin
  2621.      *
  2622.      * @return User
  2623.      */
  2624.     public function setFirstLogin($firstLogin)
  2625.     {
  2626.         $this->firstLogin $firstLogin;
  2627.         return $this;
  2628.     }
  2629.     /**
  2630.      * Get partnerName
  2631.      *
  2632.      * @return string
  2633.      */
  2634.     public function getPartnerName()
  2635.     {
  2636.         return $this->partnerName;
  2637.     }
  2638.     /**
  2639.      * Set partnerName
  2640.      *
  2641.      * @param string $partnerName
  2642.      *
  2643.      * @return User
  2644.      */
  2645.     public function setPartnerName($partnerName)
  2646.     {
  2647.         $this->partnerName $partnerName;
  2648.         return $this;
  2649.     }
  2650.     /**
  2651.      * Get fixPhoneNumber
  2652.      *
  2653.      * @return string
  2654.      */
  2655.     public function getFixPhoneNumber()
  2656.     {
  2657.         return $this->fixPhoneNumber;
  2658.     }
  2659.     /**
  2660.      * Set fixPhoneNumber
  2661.      *
  2662.      * @param string $fixPhoneNumber
  2663.      *
  2664.      * @return User
  2665.      */
  2666.     public function setFixPhoneNumber($fixPhoneNumber)
  2667.     {
  2668.         $this->fixPhoneNumber $fixPhoneNumber;
  2669.         return $this;
  2670.     }
  2671.     /**
  2672.      * Add child
  2673.      *
  2674.      * @param \App\Entity\Child $child
  2675.      *
  2676.      * @return User
  2677.      */
  2678.     public function addChild(\App\Entity\Child $child)
  2679.     {
  2680.         $this->children[] = $child;
  2681.         $child->setUser($this);
  2682.         return $this;
  2683.     }
  2684.     /**
  2685.      * Remove child
  2686.      *
  2687.      * @param \App\Entity\Child $child
  2688.      */
  2689.     public function removeChild(\App\Entity\Child $child)
  2690.     {
  2691.         $this->children->removeElement($child);
  2692.     }
  2693.     /**
  2694.      * Get children
  2695.      *
  2696.      * @return \Doctrine\Common\Collections\Collection
  2697.      */
  2698.     public function getChildren()
  2699.     {
  2700.         return $this->children;
  2701.     }
  2702.     /**
  2703.      * Add complaintX
  2704.      *
  2705.      * @param \App\Entity\ComplaintX $complaintX
  2706.      *
  2707.      * @return User
  2708.      */
  2709.     public function addComplaintX(\App\Entity\ComplaintX $complaintX)
  2710.     {
  2711.         $this->complaintXs[] = $complaintX;
  2712.         return $this;
  2713.     }
  2714.     /**
  2715.      * Remove complaintX
  2716.      *
  2717.      * @param \App\Entity\ComplaintX $complaintX
  2718.      */
  2719.     public function removeComplaintX(\App\Entity\ComplaintX $complaintX)
  2720.     {
  2721.         $this->complaintXs->removeElement($complaintX);
  2722.     }
  2723.     /**
  2724.      * Get complaintXs
  2725.      *
  2726.      * @return \Doctrine\Common\Collections\Collection
  2727.      */
  2728.     public function getComplaintXs()
  2729.     {
  2730.         return $this->complaintXs;
  2731.     }
  2732.     /**
  2733.      * Add vehicle
  2734.      *
  2735.      * @param \App\Entity\Vehicle $vehicle
  2736.      *
  2737.      * @return User
  2738.      */
  2739.     public function addVehicle(\App\Entity\Vehicle $vehicle)
  2740.     {
  2741.         $this->vehicles[] = $vehicle;
  2742.         return $this;
  2743.     }
  2744.     /**
  2745.      * Remove vehicle
  2746.      *
  2747.      * @param \App\Entity\Vehicle $vehicle
  2748.      */
  2749.     public function removeVehicle(\App\Entity\Vehicle $vehicle)
  2750.     {
  2751.         $this->vehicles->removeElement($vehicle);
  2752.     }
  2753.     /**
  2754.      * Get vehicles
  2755.      *
  2756.      * @return \Doctrine\Common\Collections\Collection
  2757.      */
  2758.     public function getVehicles(bool $all truebool $withoutInsuranceFilter false)
  2759.     {
  2760.         if ($all)
  2761.             return $this->vehicles;
  2762.         return $this->vehicles->filter(function (Vehicle $vehicle) use ($withoutInsuranceFilter) {
  2763.             if (!$vehicle->getIsDeleted() && (!$withoutInsuranceFilter || !$vehicle->hasActiveInsurance()))
  2764.                 return $vehicle;
  2765.             return false;
  2766.         });
  2767.     }
  2768.     /**
  2769.      * Add paymentMethod
  2770.      *
  2771.      * @param \App\Entity\PaymentMethod $paymentMethod
  2772.      *
  2773.      * @return User
  2774.      */
  2775.     public function addPaymentMethod(\App\Entity\PaymentMethod $paymentMethod)
  2776.     {
  2777.         $this->paymentMethods[] = $paymentMethod;
  2778.         return $this;
  2779.     }
  2780.     /**
  2781.      * Remove paymentMethod
  2782.      *
  2783.      * @param \App\Entity\PaymentMethod $paymentMethod
  2784.      */
  2785.     public function removePaymentMethod(\App\Entity\PaymentMethod $paymentMethod)
  2786.     {
  2787.         $this->paymentMethods->removeElement($paymentMethod);
  2788.     }
  2789.     /**
  2790.      * Get paymentMethods
  2791.      *
  2792.      * @return \Doctrine\Common\Collections\Collection
  2793.      */
  2794.     public function getPaymentMethods()
  2795.     {
  2796.         return $this->paymentMethods;
  2797.     }
  2798.     /**
  2799.      * Add itemsListComplaint
  2800.      *
  2801.      * @param \App\Entity\ItemsListComplaint $itemsListComplaint
  2802.      *
  2803.      * @return User
  2804.      */
  2805.     public function addItemsListComplaint(\App\Entity\ItemsListComplaint $itemsListComplaint)
  2806.     {
  2807.         $this->itemsListComplaints[] = $itemsListComplaint;
  2808.         return $this;
  2809.     }
  2810.     /**
  2811.      * Remove itemsListComplaint
  2812.      *
  2813.      * @param \App\Entity\ItemsListComplaint $itemsListComplaint
  2814.      */
  2815.     public function removeItemsListComplaint(\App\Entity\ItemsListComplaint $itemsListComplaint)
  2816.     {
  2817.         $this->itemsListComplaints->removeElement($itemsListComplaint);
  2818.     }
  2819.     /**
  2820.      * Get itemsListComplaints
  2821.      *
  2822.      * @return \Doctrine\Common\Collections\Collection
  2823.      */
  2824.     public function getItemsListComplaints()
  2825.     {
  2826.         return $this->itemsListComplaints;
  2827.     }
  2828.     /**
  2829.      * Add archiveComplaint
  2830.      *
  2831.      * @param \App\Entity\ArchiveComplaint $archiveComplaint
  2832.      *
  2833.      * @return User
  2834.      */
  2835.     public function addArchiveComplaint(\App\Entity\ArchiveComplaint $archiveComplaint)
  2836.     {
  2837.         $this->archiveComplaints[] = $archiveComplaint;
  2838.         return $this;
  2839.     }
  2840.     /**
  2841.      * Remove archiveComplaint
  2842.      *
  2843.      * @param \App\Entity\ArchiveComplaint $archiveComplaint
  2844.      */
  2845.     public function removeArchiveComplaint(\App\Entity\ArchiveComplaint $archiveComplaint)
  2846.     {
  2847.         $this->archiveComplaints->removeElement($archiveComplaint);
  2848.     }
  2849.     /**
  2850.      * Get archiveComplaints
  2851.      *
  2852.      * @return \Doctrine\Common\Collections\Collection
  2853.      */
  2854.     public function getArchiveComplaints()
  2855.     {
  2856.         return $this->archiveComplaints;
  2857.     }
  2858.     /**
  2859.      * Add lossReport
  2860.      *
  2861.      * @param \App\Entity\LossReport $lossReport
  2862.      *
  2863.      * @return User
  2864.      */
  2865.     public function addLossReport(\App\Entity\LossReport $lossReport)
  2866.     {
  2867.         $this->lossReports[] = $lossReport;
  2868.         return $this;
  2869.     }
  2870.     /**
  2871.      * Remove lossReport
  2872.      *
  2873.      * @param \App\Entity\LossReport $lossReport
  2874.      */
  2875.     public function removeLossReport(\App\Entity\LossReport $lossReport)
  2876.     {
  2877.         $this->lossReports->removeElement($lossReport);
  2878.     }
  2879.     /**
  2880.      * Get lossReports
  2881.      *
  2882.      * @return \Doctrine\Common\Collections\Collection
  2883.      */
  2884.     public function getLossReports()
  2885.     {
  2886.         return $this->lossReports;
  2887.     }
  2888.     /**
  2889.      * Add itemsListBackup
  2890.      *
  2891.      * @param \App\Entity\ItemsListBackup $itemsListBackup
  2892.      *
  2893.      * @return User
  2894.      */
  2895.     public function addItemsListBackup(\App\Entity\ItemsListBackup $itemsListBackup)
  2896.     {
  2897.         $this->itemsListBackups[] = $itemsListBackup;
  2898.         return $this;
  2899.     }
  2900.     /**
  2901.      * Remove itemsListBackup
  2902.      *
  2903.      * @param \App\Entity\ItemsListBackup $itemsListBackup
  2904.      */
  2905.     public function removeItemsListBackup(\App\Entity\ItemsListBackup $itemsListBackup)
  2906.     {
  2907.         $this->itemsListBackups->removeElement($itemsListBackup);
  2908.     }
  2909.     /**
  2910.      * Get itemsListBackups
  2911.      *
  2912.      * @return \Doctrine\Common\Collections\Collection
  2913.      */
  2914.     public function getItemsListBackups()
  2915.     {
  2916.         return $this->itemsListBackups;
  2917.     }
  2918.     /**
  2919.      * Get available itemsListBackups
  2920.      *
  2921.      * @return \Doctrine\Common\Collections\Collection
  2922.      */
  2923.     public function getAvailableItemsListBackups(): Collection
  2924.     {
  2925.         return $this->itemsListBackups->filter(function (ItemsListBackup $itemsListBackup) {
  2926.             return !$itemsListBackup->getIsDeleted();
  2927.         });
  2928.     }
  2929.     /**
  2930.      * Add search
  2931.      *
  2932.      * @param \App\Entity\Search $search
  2933.      *
  2934.      * @return User
  2935.      */
  2936.     public function addSearch(\App\Entity\Search $search)
  2937.     {
  2938.         $this->searchs[] = $search;
  2939.         return $this;
  2940.     }
  2941.     /**
  2942.      * Remove search
  2943.      *
  2944.      * @param \App\Entity\Search $search
  2945.      */
  2946.     public function removeSearch(\App\Entity\Search $search)
  2947.     {
  2948.         $this->searchs->removeElement($search);
  2949.     }
  2950.     /**
  2951.      * Get searchs
  2952.      *
  2953.      * @return \Doctrine\Common\Collections\Collection
  2954.      */
  2955.     public function getSearchs()
  2956.     {
  2957.         return $this->searchs;
  2958.     }
  2959.     /**
  2960.      * Get secondIdentityCardExpirationDate
  2961.      *
  2962.      * @return DateTime
  2963.      */
  2964.     public function getSecondIdentityCardExpirationDate()
  2965.     {
  2966.         return $this->secondIdentityCardExpirationDate;
  2967.     }
  2968.     /**
  2969.      * Set secondIdentityCardExpirationDate
  2970.      *
  2971.      * @param DateTime $secondIdentityCardExpirationDate
  2972.      *
  2973.      * @return User
  2974.      */
  2975.     public function setSecondIdentityCardExpirationDate($secondIdentityCardExpirationDate)
  2976.     {
  2977.         $this->secondIdentityCardExpirationDate $secondIdentityCardExpirationDate;
  2978.         return $this;
  2979.     }
  2980.     /**
  2981.      * Get secondIdentityCardFileName
  2982.      *
  2983.      * @return string
  2984.      */
  2985.     public function getSecondIdentityCardFileName()
  2986.     {
  2987.         return $this->secondIdentityCardFileName;
  2988.     }
  2989.     /**
  2990.      * Set secondIdentityCardFileName
  2991.      *
  2992.      * @param string $secondIdentityCardFileName
  2993.      *
  2994.      * @return User
  2995.      */
  2996.     public function setSecondIdentityCardFileName($secondIdentityCardFileName)
  2997.     {
  2998.         $this->secondIdentityCardFileName $secondIdentityCardFileName;
  2999.         return $this;
  3000.     }
  3001.     /**
  3002.      * Get secondIdentityCardFileSize
  3003.      *
  3004.      * @return integer
  3005.      */
  3006.     public function getSecondIdentityCardFileSize()
  3007.     {
  3008.         return $this->secondIdentityCardFileSize;
  3009.     }
  3010.     /**
  3011.      * Set secondIdentityCardFileSize
  3012.      *
  3013.      * @param integer $secondIdentityCardFileSize
  3014.      *
  3015.      * @return User
  3016.      */
  3017.     public function setSecondIdentityCardFileSize($secondIdentityCardFileSize)
  3018.     {
  3019.         $this->secondIdentityCardFileSize $secondIdentityCardFileSize;
  3020.         return $this;
  3021.     }
  3022.     /**
  3023.      * Get secondIdentityCardFileUpdatedAt
  3024.      *
  3025.      * @return DateTime
  3026.      */
  3027.     public function getSecondIdentityCardFileUpdatedAt()
  3028.     {
  3029.         return $this->secondIdentityCardFileUpdatedAt;
  3030.     }
  3031.     /**
  3032.      * Set secondIdentityCardFileUpdatedAt
  3033.      *
  3034.      * @param DateTime $secondIdentityCardFileUpdatedAt
  3035.      *
  3036.      * @return User
  3037.      */
  3038.     public function setSecondIdentityCardFileUpdatedAt($secondIdentityCardFileUpdatedAt)
  3039.     {
  3040.         $this->secondIdentityCardFileUpdatedAt $secondIdentityCardFileUpdatedAt;
  3041.         return $this;
  3042.     }
  3043.     /**
  3044.      * Get hasAlreadyEditedAddresses
  3045.      *
  3046.      * @return boolean
  3047.      */
  3048.     public function getHasAlreadyEditedAddresses()
  3049.     {
  3050.         return $this->hasAlreadyEditedAddresses;
  3051.     }
  3052.     /**
  3053.      * Set hasAlreadyEditedAddresses
  3054.      *
  3055.      * @param boolean $hasAlreadyEditedAddresses
  3056.      *
  3057.      * @return User
  3058.      */
  3059.     public function setHasAlreadyEditedAddresses($hasAlreadyEditedAddresses)
  3060.     {
  3061.         $this->hasAlreadyEditedAddresses $hasAlreadyEditedAddresses;
  3062.         return $this;
  3063.     }
  3064.     /**
  3065.      * Get hasAlreadyEditedIdentityInfos
  3066.      *
  3067.      * @return boolean
  3068.      */
  3069.     public function getHasAlreadyEditedIdentityInfos()
  3070.     {
  3071.         return $this->hasAlreadyEditedIdentityInfos;
  3072.     }
  3073.     /**
  3074.      * Set hasAlreadyEditedIdentityInfos
  3075.      *
  3076.      * @param boolean $hasAlreadyEditedIdentityInfos
  3077.      *
  3078.      * @return User
  3079.      */
  3080.     public function setHasAlreadyEditedIdentityInfos($hasAlreadyEditedIdentityInfos)
  3081.     {
  3082.         $this->hasAlreadyEditedIdentityInfos $hasAlreadyEditedIdentityInfos;
  3083.         return $this;
  3084.     }
  3085.     /**
  3086.      * Get hasAlreadyEditedContactInfos
  3087.      *
  3088.      * @return boolean
  3089.      */
  3090.     public function getHasAlreadyEditedContactInfos()
  3091.     {
  3092.         return $this->hasAlreadyEditedContactInfos;
  3093.     }
  3094.     /**
  3095.      * Set hasAlreadyEditedContactInfos
  3096.      *
  3097.      * @param boolean $hasAlreadyEditedContactInfos
  3098.      *
  3099.      * @return User
  3100.      */
  3101.     public function setHasAlreadyEditedContactInfos($hasAlreadyEditedContactInfos)
  3102.     {
  3103.         $this->hasAlreadyEditedContactInfos $hasAlreadyEditedContactInfos;
  3104.         return $this;
  3105.     }
  3106.     /**
  3107.      * Get hasAlreadyEditedIdentityCard
  3108.      *
  3109.      * @return boolean
  3110.      */
  3111.     public function getHasAlreadyEditedIdentityCard()
  3112.     {
  3113.         return $this->hasAlreadyEditedIdentityCard;
  3114.     }
  3115.     /**
  3116.      * Set hasAlreadyEditedIdentityCard
  3117.      *
  3118.      * @param boolean $hasAlreadyEditedIdentityCard
  3119.      *
  3120.      * @return User
  3121.      */
  3122.     public function setHasAlreadyEditedIdentityCard($hasAlreadyEditedIdentityCard)
  3123.     {
  3124.         $this->hasAlreadyEditedIdentityCard $hasAlreadyEditedIdentityCard;
  3125.         return $this;
  3126.     }
  3127.     /**
  3128.      * Get identityCardType.
  3129.      *
  3130.      * @return string|null
  3131.      */
  3132.     public function getIdentityCardType()
  3133.     {
  3134.         return $this->identityCardType;
  3135.     }
  3136.     /**
  3137.      * Set identityCardType.
  3138.      *
  3139.      * @param string|null $identityCardType
  3140.      *
  3141.      * @return User
  3142.      */
  3143.     public function setIdentityCardType($identityCardType null)
  3144.     {
  3145.         $this->identityCardType $identityCardType;
  3146.         return $this;
  3147.     }
  3148.     /**
  3149.      * Add identityCardPhoto.
  3150.      *
  3151.      * @param \App\Entity\IdentityCardPhoto $identityCardPhoto
  3152.      *
  3153.      * @return User
  3154.      */
  3155.     public function addIdentityCardPhoto(\App\Entity\IdentityCardPhoto $identityCardPhoto)
  3156.     {
  3157.         $this->identityCardPhotos[] = $identityCardPhoto;
  3158.         return $this;
  3159.     }
  3160.     /**
  3161.      * Remove identityCardPhoto.
  3162.      *
  3163.      * @param \App\Entity\IdentityCardPhoto $identityCardPhoto
  3164.      *
  3165.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  3166.      */
  3167.     public function removeIdentityCardPhoto(\App\Entity\IdentityCardPhoto $identityCardPhoto)
  3168.     {
  3169.         return $this->identityCardPhotos->removeElement($identityCardPhoto);
  3170.     }
  3171.     /**
  3172.      * Get identityCardPhotos.
  3173.      *
  3174.      * @return \Doctrine\Common\Collections\Collection
  3175.      */
  3176.     public function getIdentityCardPhotos()
  3177.     {
  3178.         return $this->identityCardPhotos;
  3179.     }
  3180.     /**
  3181.      * Get identityCardExpirationDate.
  3182.      *
  3183.      * @return DateTime|null
  3184.      */
  3185.     public function getIdentityCardExpirationDate()
  3186.     {
  3187.         return $this->identityCardExpirationDate;
  3188.     }
  3189.     /**
  3190.      * Set identityCardExpirationDate.
  3191.      *
  3192.      * @param DateTime|null $identityCardExpirationDate
  3193.      *
  3194.      * @return User
  3195.      */
  3196.     public function setIdentityCardExpirationDate($identityCardExpirationDate null)
  3197.     {
  3198.         $this->identityCardExpirationDate $identityCardExpirationDate;
  3199.         return $this;
  3200.     }
  3201.     public function getPartnerUser()
  3202.     {
  3203.         if ($this->getPartnerLead()) {
  3204.             $partner $this->getPartnerLead();
  3205.         } elseif ($this->getPartner()) {
  3206.             $partner $this->getPartner();
  3207.         } else {
  3208.             $partner false;
  3209.         }
  3210.         return $partner;
  3211.     }
  3212.     /**
  3213.      * Get partnerLead
  3214.      *
  3215.      * @return \App\Entity\User
  3216.      */
  3217.     public function getPartnerLead()
  3218.     {
  3219.         return $this->partnerLead;
  3220.     }
  3221.     /**
  3222.      * Set partnerLead
  3223.      *
  3224.      * @param \App\Entity\User $partnerLead
  3225.      *
  3226.      * @return User
  3227.      */
  3228.     public function setPartnerLead(\App\Entity\User $partnerLead null)
  3229.     {
  3230.         $this->partnerLead $partnerLead;
  3231.         return $this;
  3232.     }
  3233.     /**
  3234.      * Get partner
  3235.      *
  3236.      * @return \App\Entity\User
  3237.      */
  3238.     public function getPartner()
  3239.     {
  3240.         return $this->partner;
  3241.     }
  3242.     /**
  3243.      * Set partner
  3244.      *
  3245.      * @param \App\Entity\User $partner
  3246.      *
  3247.      * @return User
  3248.      */
  3249.     public function setPartner(\App\Entity\User $partner null)
  3250.     {
  3251.         $this->partner $partner;
  3252.         return $this;
  3253.     }
  3254.     /**
  3255.      * Add addressUser.
  3256.      *
  3257.      * @param \App\Entity\Address $addressUser
  3258.      *
  3259.      * @return User
  3260.      */
  3261.     public function addAddressUser(\App\Entity\Address $addressUser)
  3262.     {
  3263.         $this->addressUser[] = $addressUser;
  3264.         return $this;
  3265.     }
  3266.     /**
  3267.      * Remove addressUser.
  3268.      *
  3269.      * @param \App\Entity\Address $addressUser
  3270.      *
  3271.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  3272.      */
  3273.     public function removeAddressUser(\App\Entity\Address $addressUser)
  3274.     {
  3275.         return $this->addressUser->removeElement($addressUser);
  3276.     }
  3277.     /**
  3278.      * Get addressUser.
  3279.      *
  3280.      * @return \Doctrine\Common\Collections\Collection
  3281.      */
  3282.     public function getAddressUser(bool $all truebool $withoutInsuranceFilter false)
  3283.     {
  3284.         if ($all)
  3285.             return $this->addressUser;
  3286.         return $this->addressUser->filter(function (Address $address) use ($withoutInsuranceFilter) {
  3287.             if (!$address->getIsDeleted() && (!$withoutInsuranceFilter || !$address->hasActiveInsurance()))
  3288.                 return $address;
  3289.             return false;
  3290.         });
  3291.     }
  3292.     /**
  3293.      *
  3294.      */
  3295.     public function getMainAddress()
  3296.     {
  3297.         foreach ($this->addressUser as $key => $value) {
  3298.             if ($value->getType() == "main" && $value->getIsDeleted() !== true) {
  3299.                 return $value;
  3300.             }
  3301.         }
  3302.         return false;
  3303.     }
  3304.     /**
  3305.      *
  3306.      */
  3307.     public function getFirstSecondAddresses()
  3308.     {
  3309.         foreach ($this->addressUser as $key => $value) {
  3310.             if ($value->getType() == "second" && $value->getIsDeleted() !== true) {
  3311.                 return $value;
  3312.             }
  3313.         }
  3314.         return false;
  3315.     }
  3316.     /**
  3317.      *
  3318.      */
  3319.     public function getFirstOtherAddresses()
  3320.     {
  3321.         foreach ($this->addressUser as $key => $value) {
  3322.             if ($value->getType() == "room" && $value->getIsDeleted() !== true) {
  3323.                 return $value;
  3324.             }
  3325.         }
  3326.         return false;
  3327.     }
  3328.     /**
  3329.      * Get accountId.
  3330.      *
  3331.      * @return string|null
  3332.      */
  3333.     public function getAccountId()
  3334.     {
  3335.         return $this->accountId;
  3336.     }
  3337.     /**
  3338.      * Set accountId.
  3339.      *
  3340.      * @param string|null $accountId
  3341.      *
  3342.      * @return User
  3343.      */
  3344.     public function setAccountId($accountId null)
  3345.     {
  3346.         $this->accountId $accountId;
  3347.         return $this;
  3348.     }
  3349.     /**
  3350.      * Get isBeginner.
  3351.      *
  3352.      * @return bool
  3353.      */
  3354.     public function getIsBeginner()
  3355.     {
  3356.         return $this->isBeginner;
  3357.     }
  3358.     /**
  3359.      * Set isBeginner.
  3360.      *
  3361.      * @param bool $isBeginner
  3362.      *
  3363.      * @return User
  3364.      */
  3365.     public function setIsBeginner($isBeginner)
  3366.     {
  3367.         $this->isBeginner $isBeginner;
  3368.         return $this;
  3369.     }
  3370.     /**
  3371.      * Get deleteCode.
  3372.      *
  3373.      * @return string|null
  3374.      */
  3375.     public function getDeleteCode()
  3376.     {
  3377.         return $this->deleteCode;
  3378.     }
  3379.     /**
  3380.      * Set deleteCode.
  3381.      *
  3382.      * @param string|null $deleteCode
  3383.      *
  3384.      * @return User
  3385.      */
  3386.     public function setDeleteCode($deleteCode null)
  3387.     {
  3388.         $this->deleteCode $deleteCode;
  3389.         return $this;
  3390.     }
  3391.     /**
  3392.      * @see UserInterface
  3393.      */
  3394.     public function getPassword(): string
  3395.     {
  3396.         return (string)$this->password;
  3397.     }
  3398.     public function setPassword(string $password): self
  3399.     {
  3400.         $this->password $password;
  3401.         return $this;
  3402.     }
  3403.     /**
  3404.      * @return mixed
  3405.      */
  3406.     public function getPlainPassword()
  3407.     {
  3408.         return $this->plainPassword;
  3409.     }
  3410.     /**
  3411.      * @param mixed $plainPassword
  3412.      * @return User
  3413.      */
  3414.     public function setPlainPassword($plainPassword): self
  3415.     {
  3416.         $this->plainPassword $plainPassword;
  3417.         return $this;
  3418.     }
  3419.     /**
  3420.      * @return mixed
  3421.      */
  3422.     public function getGmaps()
  3423.     {
  3424.         $birthPlace $this->getBirthCity() ? $this->getBirthCity() . ' - ' '';
  3425.         $birthPlace .= $this->getBirthZipCode() ? $this->getBirthZipCode() . ' - ' '';
  3426.         $birthPlace .= $this->getBirthCountry() ? $this->getBirthCountry() : '';
  3427.         if ($birthPlace)
  3428.             return $birthPlace;
  3429.         return $this->gmaps;
  3430.     }
  3431.     /**
  3432.      * @param mixed $gmaps
  3433.      * @return User
  3434.      */
  3435.     public function setGmaps($gmaps): self
  3436.     {
  3437.         $this->gmaps $gmaps;
  3438.         return $this;
  3439.     }
  3440.     /**
  3441.      * Returning a salt is only needed, if you are not using a modern
  3442.      * hashing algorithm (e.g. bcrypt or sodium) in your security.yaml.
  3443.      *
  3444.      * @see UserInterface
  3445.      */
  3446.     public function getSalt(): ?string
  3447.     {
  3448.         return null;
  3449.     }
  3450.     public function eraseCredentials()
  3451.     {
  3452.         // TODO: Implement eraseCredentials() method.
  3453.     }
  3454.     public function getUsername()
  3455.     {
  3456.         return $this->email;
  3457.     }
  3458.     public function __call($name$arguments)
  3459.     {
  3460.         // TODO: Implement @method string getUserIdentifier()
  3461.     }
  3462.     /**
  3463.      * @return Collection|PartnerPending[]
  3464.      */
  3465.     public function getPartnerPendings(): Collection
  3466.     {
  3467.         return $this->partnerPendings;
  3468.     }
  3469.     public function addPartnerPending(PartnerPending $partnerPending): self
  3470.     {
  3471.         if (!$this->partnerPendings->contains($partnerPending)) {
  3472.             $this->partnerPendings[] = $partnerPending;
  3473.             $partnerPending->setPartner($this);
  3474.         }
  3475.         return $this;
  3476.     }
  3477.     public function removePartnerPending(PartnerPending $partnerPending): self
  3478.     {
  3479.         if ($this->partnerPendings->removeElement($partnerPending)) {
  3480.             // set the owning side to null (unless already changed)
  3481.             if ($partnerPending->getPartner() === $this) {
  3482.                 $partnerPending->setPartner(null);
  3483.             }
  3484.         }
  3485.         return $this;
  3486.     }
  3487.     public function getPartnerPending(): ?PartnerPending
  3488.     {
  3489.         return $this->partnerPending;
  3490.     }
  3491.     public function setPartnerPending(?PartnerPending $partnerPending): self
  3492.     {
  3493.         // unset the owning side of the relation if necessary
  3494.         if ($partnerPending === null && $this->partnerPending !== null) {
  3495.             $this->partnerPending->setUserAccount(null);
  3496.         }
  3497.         // set the owning side of the relation if necessary
  3498.         if ($partnerPending !== null && $partnerPending->getUserAccount() !== $this) {
  3499.             $partnerPending->setUserAccount($this);
  3500.         }
  3501.         $this->partnerPending $partnerPending;
  3502.         return $this;
  3503.     }
  3504.     public function getPendingNewEmail(): ?string
  3505.     {
  3506.         return $this->pendingNewEmail;
  3507.     }
  3508.     public function setPendingNewEmail(?string $pendingNewEmail): self
  3509.     {
  3510.         $this->pendingNewEmail $pendingNewEmail;
  3511.         return $this;
  3512.     }
  3513.     public function getValidationToken(): ?string
  3514.     {
  3515.         return $this->validationToken;
  3516.     }
  3517.     public function setValidationToken(?string $validationToken): self
  3518.     {
  3519.         $this->validationToken $validationToken;
  3520.         return $this;
  3521.     }
  3522.     public function getIsVerified(): ?bool
  3523.     {
  3524.         return $this->isVerified;
  3525.     }
  3526.     public function isVerified(): bool
  3527.     {
  3528.         return $this->isVerified;
  3529.     }
  3530.     public function setIsVerified(bool $isVerified): self
  3531.     {
  3532.         $this->isVerified $isVerified;
  3533.         return $this;
  3534.     }
  3535.     /**
  3536.      * @return Collection|GoodAssignement[]
  3537.      */
  3538.     public function getBuyerGoodAssignements(): Collection
  3539.     {
  3540.         return $this->buyerGoodAssignements;
  3541.     }
  3542.     public function addBuyerGoodAssignement(GoodAssignement $buyerGoodAssignement): self
  3543.     {
  3544.         if (!$this->buyerGoodAssignements->contains($buyerGoodAssignement)) {
  3545.             $this->buyerGoodAssignements[] = $buyerGoodAssignement;
  3546.             $buyerGoodAssignement->setBuyer($this);
  3547.         }
  3548.         return $this;
  3549.     }
  3550.     public function removeBuyerGoodAssignement(GoodAssignement $buyerGoodAssignement): self
  3551.     {
  3552.         if ($this->buyerGoodAssignements->removeElement($buyerGoodAssignement)) {
  3553.             // set the owning side to null (unless already changed)
  3554.             if ($buyerGoodAssignement->getBuyer() === $this) {
  3555.                 $buyerGoodAssignement->setBuyer(null);
  3556.             }
  3557.         }
  3558.         return $this;
  3559.     }
  3560.     /**
  3561.      * @return Collection|ComplaintLetter[]
  3562.      */
  3563.     public function getComplaintLetters(): Collection
  3564.     {
  3565.         return $this->complaintLetters;
  3566.     }
  3567.     public function addComplaintLetter(ComplaintLetter $complaintLetter): self
  3568.     {
  3569.         if (!$this->complaintLetters->contains($complaintLetter)) {
  3570.             $this->complaintLetters[] = $complaintLetter;
  3571.             $complaintLetter->setUser($this);
  3572.         }
  3573.         return $this;
  3574.     }
  3575.     public function removeComplaintLetter(ComplaintLetter $complaintLetter): self
  3576.     {
  3577.         if ($this->complaintLetters->removeElement($complaintLetter)) {
  3578.             // set the owning side to null (unless already changed)
  3579.             if ($complaintLetter->getUser() === $this) {
  3580.                 $complaintLetter->setUser(null);
  3581.             }
  3582.         }
  3583.         return $this;
  3584.     }
  3585.     public function getPictureFileSize(): ?int
  3586.     {
  3587.         return $this->pictureFileSize;
  3588.     }
  3589.     public function setPictureFileSize($pictureFileSize): static
  3590.     {
  3591.         $this->pictureFileSize $pictureFileSize;
  3592.         return $this;
  3593.     }
  3594.     public function getPictureFileName(): ?string
  3595.     {
  3596.         return $this->pictureFileName;
  3597.     }
  3598.     public function setPictureFileName(?string $pictureFileName): static
  3599.     {
  3600.         $this->pictureFileName $pictureFileName;
  3601.         return $this;
  3602.     }
  3603.     public function getPictureFileUpdatedAt(): ?DateTime
  3604.     {
  3605.         return $this->pictureFileUpdatedAt;
  3606.     }
  3607.     public function setPictureFileUpdatedAt(DateTime $pictureFileUpdatedAt): static
  3608.     {
  3609.         $this->pictureFileUpdatedAt $pictureFileUpdatedAt;
  3610.         return $this;
  3611.     }
  3612.     public function getPictureFile(): ?File
  3613.     {
  3614.         return $this->pictureFile;
  3615.     }
  3616.     public function setPictureFile(File $file null): static
  3617.     {
  3618.         $this->pictureFile $file;
  3619.         if (null !== $file) {
  3620.             $this->pictureFileUpdatedAt = new DateTime();
  3621.         }
  3622.         return $this;
  3623.     }
  3624.     public function getItemById(int $id): ?Item
  3625.     {
  3626.         return $this->items->filter(function (Item $item) use ($id) {
  3627.             return $item->getId() === $id;
  3628.         })->first();
  3629.     }
  3630.     public function getResetPasswordRequests(): Collection|array
  3631.     {
  3632.         return $this->resetPasswordRequests;
  3633.     }
  3634.     public function getChildByName(string $name): ?Child
  3635.     {
  3636.         return $this->getChildren()
  3637.             ->filter(fn(Child $children) => $children->getFirstName() . ' ' $children->getBirthName() === $name)
  3638.             ->first() ?? null;
  3639.     }
  3640. }