<?php
namespace App\Entity;
use App\Repository\ChildRepository;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Entity(repositoryClass: ChildRepository::class)]
#[ORM\Table(name: 'child')]
class Child
{
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'AUTO')]
#[ORM\Column(type: 'integer')]
private ?int $id = null;
#[ORM\Column(type: 'boolean')]
private bool $isDeleted = false;
#[Assert\NotBlank(message: 'Ce champ est obligatoire')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'children')]
#[ORM\JoinColumn(nullable: false)]
private ?User $user;
#[Assert\NotBlank(message: 'Ce champ est obligatoire')]
#[Assert\Choice(callback: 'getSexes', multiple: false)]
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private ?string $sexe = null;
public $expressStep;
#[Assert\NotBlank(message: 'Ce champ est obligatoire')]
#[ORM\Column(type: 'string', length: 255)]
private ?string $birthName;
#[Assert\NotBlank(message: 'Ce champ est obligatoire')]
#[ORM\Column(type: 'string', length: 255)]
private ?string $firstName;
#[Assert\NotBlank(message: 'Ce champ est obligatoire')]
#[ORM\Column(type: 'datetime', nullable: true)]
private ?DateTime $birthDate;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private ?string $birthCity = null;
#[Assert\Length(min: 5, max: 5)]
#[ORM\Column(type: 'integer', nullable: true)]
private ?int $birthZipCode;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private ?string $birthDepartment;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private ?string $birthCountry = null;
#[Assert\NotBlank(message: 'Ce champ est obligatoire')]
#[Assert\Choice(callback: 'getNationalities', multiple: false)]
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $nationality;
private ?string $gmaps;
public function __toString()
{
return "#" . $this->id . " - " . $this->firstName;
}
public static function getSexes(): array
{
$arr = [
"Fille",
"Garçon"
];
return array_combine($arr, $arr);
}
public static function getNationalities(): array
{
$arr = [
"Française",
"Afghane",
"Albanaise",
"Algérienne",
"Allemande",
"Américaine",
"Andorrane",
"Angolaise",
"Antiguaise-et-Barbudienne",
"Argentine",
"Arménienne",
"Australienne",
"Autrichienne",
"Azerbaïdjanaise",
"Bahamienne",
"Bahreinienne",
"Bangladaise",
"Barbadienne",
"Belge",
"Belizienne",
"Béninoise",
"Bhoutanaise",
"Biélorusse",
"Birmane",
"Bissau-Guinéenne",
"Bolivienne",
"Bosnienne",
"Botswanaise",
"Brésilienne",
"Britannique",
"Brunéienne",
"Bulgare",
"Burkinabée",
"Burundaise",
"Cambodgienne",
"Camerounaise",
"Canadienne",
"Cap-verdienne",
"Centrafricaine",
"Chilienne",
"Chinoise",
"Chypriote",
"Colombienne",
"Comorienne",
"Congolaise",
"Congolaise",
"Cookienne",
"Costaricaine",
"Croate",
"Cubaine",
"Danoise",
"Djiboutienne",
"Dominicaine",
"Dominiquaise",
"Égyptienne",
"Émirienne",
"Équato-guineenne",
"Équatorienne",
"Érythréenne",
"Espagnole",
"Est-timoraise",
"Estonienne",
"Éthiopienne",
"Fidjienne",
"Finlandaise",
"Gabonaise",
"Gambienne",
"Georgienne",
"Ghanéenne",
"Grenadienne",
"Guatémaltèque",
"Guinéenne",
"Guyanienne",
"Haïtienne",
"Hellénique",
"Hondurienne",
"Hongroise",
"Indienne",
"Indonésienne",
"Irakienne",
"Iranienne",
"Irlandaise",
"Islandaise",
"Israélienne",
"Italienne",
"Ivoirienne",
"Jamaïcaine",
"Japonaise",
"Jordanienne",
"Kazakhstanaise",
"Kenyane",
"Kirghize",
"Kiribatienne",
"Kittitienne et Névicienne",
"Koweïtienne",
"Laotienne",
"Lesothane",
"Lettone",
"Libanaise",
"Libérienne",
"Libyenne",
"Liechtensteinoise",
"Lituanienne",
"Luxembourgeoise",
"Macédonienne",
"Malaisienne",
"Malawienne",
"Maldivienne",
"Malgache",
"Maliennes",
"Maltaise",
"Marocaine",
"Marshallaise",
"Mauricienne",
"Mauritanienne",
"Mexicaine",
"Micronésienne",
"Moldave",
"Monegasque",
"Mongole",
"Monténégrine",
"Mozambicaine",
"Namibienne",
"Nauruane",
"Néerlandaise",
"Néo-Zélandaise",
"Népalaise",
"Nicaraguayenne",
"Nigériane",
"Nigérienne",
"Niuéenne",
"Nord-coréenne",
"Norvégienne",
"Omanaise",
"Ougandaise",
"Ouzbéke",
"Pakistanaise",
"Palaosienne",
"Palestinienne",
"Panaméenne",
"Papouane-Néo-Guinéenne",
"Paraguayenne",
"Péruvienne",
"Philippine",
"Polonaise",
"Portugaise",
"Qatarienne",
"Roumaine",
"Russe",
"Rwandaise",
"Saint--Lucienne",
"Saint--Marinaise",
"Saint-Vincentaise et Grenadine",
"Salomonaise",
"Salvadorienne",
"Samoane",
"Santoméenne",
"Saoudienne",
"Sénégalaise",
"Serbe",
"Seychelloise",
"Sierra-Léonaise",
"Singapourienne",
"Slovaque",
"Slovène",
"Somalienne",
"Soudanaise",
"Sri-Lankaise",
"Sud-Africaine",
"Sud-Coréenne",
"Sud-Soudanaise",
"Suédoise",
"Suisse",
"Surinamaise",
"Swazie",
"Syrienne",
"Tadjike",
"Tanzanienne",
"Tchadienne",
"Tchèque",
"Thaïlandaise",
"Togolaise",
"Tonguienne",
"Trinidadienne",
"Tunisienne",
"Turkmène",
"Turque",
"Tuvaluane",
"Ukrainienne",
"Uruguayenne",
"Vanuatuane",
"Vaticane",
"Vénézuélienne",
"Vietnamienne",
"Yéménite",
"Zambienne",
"Zimbabwéenne"
];
return array_combine($arr, $arr);
}
public static function getBirthDepartments(): array
{
$arr = [
"01 - Ain",
"02 - Aisne",
"03 - Allier",
"04 - Alpes-de-Haute-Provence",
"05 - Hautes-Alpes",
"06 - Alpes-Maritimes",
"07 - Ardèche",
"08 - Ardennes",
"09 - Ariège",
"10 - Aube",
"11 - Aude",
"12 - Aveyron",
"13 - Bouches-du-Rhône",
"14 - Calvados",
"15 - Cantal",
"16 - Charente",
"17 - Charente-Maritime",
"18 - Cher",
"19 - Corrèze",
"21 - Côte-d'Or",
"22 - Côtes-d'Armor",
"23 - Creuse",
"24 - Dordogne",
"25 - Doubs",
"26 - Drôme",
"27 - Eure",
"28 - Eure-et-Loir",
"29 - Finistère",
"2A - Corse-du-Sud",
"2B - Haute-Corse",
"30 - Gard",
"31 - Haute-Garonne",
"32 - Gers",
"33 - Gironde",
"34 - Hérault",
"35 - Ille-et-Vilaine",
"36 - Indre",
"37 - Indre-et-Loire",
"38 - Isère",
"39 - Jura",
"40 - Landes",
"41 - Loir-et-Cher",
"42 - Loire",
"43 - Haute-Loire",
"44 - Loire-Atlantique",
"45 - Loiret",
"46 - Lot",
"47 - Lot-et-Garonne",
"48 - Lozère",
"49 - Maine-et-Loire",
"50 - Manche",
"51 - Marne",
"52 - Haute-Marne",
"53 - Mayenne",
"54 - Meurthe-et-Moselle",
"55 - Meuse",
"56 - Morbihan",
"57 - Moselle",
"58 - Nièvre",
"59 - Nord",
"60 - Oise",
"61 - Orne",
"62 - Pas-de-Calais",
"63 - Puy-de-Dôme",
"64 - Pyrénées-Atlantiques",
"65 - Hautes-Pyrénées",
"66 - Pyrénées-Orientales",
"67 - Bas-Rhin",
"68 - Haut-Rhin",
"69 - Rhône",
"70 - Haute-Saône",
"71 - Saône-et-Loire",
"72 - Sarthe",
"73 - Savoie",
"74 - Haute-Savoie",
"75 - Paris",
"76 - Seine-Maritime",
"77 - Seine-et-Marne",
"78 - Yvelines",
"79 - Deux-Sèvres",
"80 - Somme",
"81 - Tarn",
"82 - Tarn-et-Garonne",
"83 - Var",
"84 - Vaucluse",
"85 - Vendée",
"86 - Vienne",
"87 - Haute-Vienne",
"88 - Vosges",
"89 - Yonne",
"90 - Territoire de Belfort",
"91 - Essonne",
"92 - Hauts-de-Seine",
"93 - Seine-Saint-Denis",
"94 - Val-de-Marne",
"95 - Val-d'Oise",
"971 - Guadeloupe",
"972 - Martinique",
"973 - Guyane",
"974 - La Réunion",
];
return array_combine($arr, $arr);
}
public static function getCountries(): array
{
$arr = [
"FR – France",
"AD – Andorre",
"AE – Émirats arabes unis",
"AF – Afghanistan",
"AG – Antigua-et-Barbuda",
"AI – Anguilla",
"AL – Albanie",
"AM – Arménie",
"AO – Angola",
"AQ – Antarctique",
"AR – Argentine",
"AS – Samoa américaine",
"AT – Autriche",
"AU – Australie",
"AW – Aruba",
"AZ – Azerbaïdjan",
"BA – Bosnie-Herzégovine",
"BB – Barbade",
"BD – Bangladesh",
"BE – Belgique",
"BF – Burkina Faso",
"BG – Bulgarie",
"BH – Bahreïn",
"BI – Burundi",
"BJ – Bénin",
"BL – Saint-Barthélemy",
"BM – Bermudes",
"BN – Brunei",
"BO – Bolivie",
"BR – Brésil",
"BS – Bahamas",
"BT – Bhoutan",
"BV – Île Bouvet",
"BW – Botswana",
"BY – Bélarus",
"BZ – Belize",
"CA – Canada",
"CC – Îles Cocos (Keeling)",
"CD – République démocratique du Congo",
"CF – République centrafricaine",
"CG – République du Congo",
"CH – Suisse",
"CI – Côte d’Ivoire",
"CK – Îles Cook",
"CL – Chili",
"CM – Cameroun",
"CN – Chine",
"CO – Colombie",
"CR – Costa Rica",
"CU – Cuba",
"CV – Cap-Vert",
"CW – Curaçao",
"CX – Île Christmas",
"CY – Chypre",
"CZ – République tchèque",
"DE – Allemagne",
"DJ – Djibouti",
"DK – Danemark",
"DM – Dominique",
"DO – République dominicaine",
"DZ – Algérie",
"EC – Équateur",
"EE – Estonie",
"EG – Égypte",
"EH – République arabe sahraouie démocratique",
"ER – Érythrée",
"ES – Espagne",
"ET – Éthiopie",
"FI – Finlande",
"FJ – Fidji",
"FK – Îles Malouines (Falkland)",
"FM – États fédérés de Micronésie",
"FO – Îles Féroé",
"FX – France métropolitaine",
"GA – Gabon",
"GB – Royaume-Uni",
"GD – Grenade",
"GE – Géorgie",
"GF – Guyane française",
"GG – Guernesey",
"GH – Ghana",
"GI – Gibraltar",
"GL – Groenland",
"GM – Gambie",
"GN – Guinée",
"GP – Guadeloupe",
"GQ – Guinée équatoriale",
"GR – Grèce",
"GS – Géorgie du Sud et les îles Sandwich du Sud",
"GT – Guatemala",
"GU – Guam",
"GW – Guinée-Bissau",
"GY – Guyana",
"HK – Hong-Kong",
"HM – Îles Heard et McDonald",
"HN – Honduras",
"HR – Croatie",
"HT – Haïti",
"HU – Hongrie",
"ID – Indonésie",
"IE – Irlande",
"IL – Israël",
"IM – Île de Man",
"IN – Inde",
"IO – Territoire britannique de l’océan Indien",
"IQ – Irak",
"IR – Iran",
"IS – Islande",
"IT – Italie",
"JE – Jersey",
"JM – Jamaïque",
"JO – Jordanie",
"JP – Japon",
"KE – Kenya",
"KG – Kirghizistan",
"KH – Cambodge",
"KI – Kiribati",
"KM – Comores",
"KN – Saint-Kitts-et-Nevis",
"KP – Corée du Nord",
"KR – Corée du Sud",
"KW – Koweït",
"KY – Îles Caïmans",
"KZ – Kazakhstan",
"LA – Laos",
"LB – Liban",
"LC – Sainte-Lucie",
"LI – Liechtenstein",
"LK – Sri Lanka",
"LR – Libéria",
"LS – Lesotho",
"LT – Lituanie",
"LU – Luxembourg",
"LV – Lettonie",
"LY – Libye",
"MA – Maroc",
"MC – Monaco",
"MD – Moldavie",
"ME – Monténégro",
"MF – Saint-Martin",
"MG – Madagascar",
"MH – Îles Marshall",
"MK – Macédoine",
"ML – Mali",
"MM – Myanmar",
"MN – Mongolie",
"MO – Macao",
"MP – Mariannes du Nord",
"MQ – Martinique",
"MR – Mauritanie",
"MS – Montserrat",
"MT – Malte",
"MU – Île Maurice",
"MV – Maldives",
"MW – Malawi",
"MX – Mexique",
"MY – Malaisie",
"MZ – Mozambique",
"NA – Namibie",
"NC – Nouvelle-Calédonie",
"NE – Niger",
"NF – Île Norfolk",
"NG – Nigeria",
"NI – Nicaragua",
"NL – Pays-Bas",
"NO – Norvège",
"NP – Népal",
"NR – Nauru",
"NU – Niue",
"NZ – Nouvelle-Zélande",
"OM – Oman",
"PA – Panama",
"PE – Pérou",
"PF – Polynésie française",
"PG – Papouasie-Nouvelle-Guinée",
"PH – Philippines",
"PK – Pakistan",
"PL – Pologne",
"PM – Saint-Pierre-et-Miquelon",
"PN – Îles Pitcairn",
"PR – Porto Rico",
"PS – Bande de Gaza",
"PS – Cisjordanie",
"PT – Portugal",
"PW – Palaos",
"PY – Paraguay",
"QA – Qatar",
"RE – Réunion (Île de la)",
"RO – Roumanie",
"RS – Serbie",
"RU – Russie",
"RW – Rwanda",
"SA – Arabie saoudite",
"SB – Îles Salomon",
"SC – Seychelles",
"SD – Soudan",
"SE – Suède",
"SG – Singapour",
"SH – Sainte-Hélène, Ascension et Tristan da Cunha",
"SI – Slovénie",
"SJ – Svalbard",
"SK – Slovaquie",
"SL – Sierra Leone",
"SM – Saint-Marin",
"SN – Sénégal",
"SO – Somalie",
"SR – Suriname",
"SS – Soudan du Sud",
"ST – Sao Tomé-et-Principe",
"SV – Salvador",
"SX – Saint-Martin",
"SY – Syrie",
"SZ – Swaziland",
"TC – Îles Turques-et-Caïques",
"TD – Tchad",
"TF – Terres australes et antarctiques françaises",
"TG – Togo",
"TH – Thaïlande",
"TJ – Tadjikistan",
"TK – Tokelau",
"TL – Timor-Leste",
"TM – Turkménistan",
"TN – Tunisie",
"TO – Tonga",
"TR – Turquie",
"TT – Trinité-et-Tobago",
"TV – Tuvalu",
"TW – Taïwan",
"TZ – Tanzanie",
"UA – Ukraine",
"UG – Ouganda",
"UM – Îles mineures éloignées des États-Unis",
"US – États-Unis",
"UY – Uruguay",
"UZ – Ouzbékistan",
"VA – Cité du Vatican (Saint-Siège)",
"VC – Saint-Vincent et les Grenadines",
"VE – Venezuela",
"VG – Îles Vierges britanniques",
"VI – Îles Vierges américaines",
"VN – Vietnam",
"VU – Vanuatu",
"WF – Îles Wallis-et-Futuna",
"WS – Samoa",
"XK – Kosovo",
"YE – Yémen",
"YT – Mayotte",
"ZA – Afrique du Sud",
"ZM – Zambie",
"ZW – Zimbabwe",
];
return array_combine($arr, $arr);
}
public function getId(): ?int
{
return $this->id;
}
/**
* Set sexe
*
* @param string $sexe
*
* @return Child
*/
public function setSexe($sexe)
{
$this->sexe = $sexe;
return $this;
}
/**
* Get sexe
*
* @return string
*/
public function getSexe()
{
return $this->sexe;
}
/**
* Set birthName
*
* @param string $birthName
*
* @return Child
*/
public function setBirthName($birthName)
{
$this->birthName = $birthName;
return $this;
}
/**
* Get birthName
*
* @return string
*/
public function getBirthName()
{
return $this->birthName;
}
/**
* Set firstName
*
* @param string $firstName
*
* @return Child
*/
public function setFirstName($firstName)
{
$this->firstName = $firstName;
return $this;
}
/**
* Get firstName
*
* @return string
*/
public function getFirstName()
{
return $this->firstName;
}
/**
* Set birthDate
*
* @param DateTime $birthDate
*
* @return Child
*/
public function setBirthDate($birthDate)
{
$this->birthDate = $birthDate;
return $this;
}
/**
* Get birthDate
*
* @return DateTime
*/
public function getBirthDate()
{
return $this->birthDate;
}
/**
* Set birthCity
*
* @param string $birthCity
*
* @return Child
*/
public function setBirthCity($birthCity)
{
$this->birthCity = $birthCity;
return $this;
}
/**
* Get birthCity
*
* @return string
*/
public function getBirthCity()
{
return $this->birthCity;
}
/**
* Set birthZipCode
*
* @param integer $birthZipCode
*
* @return Child
*/
public function setBirthZipCode($birthZipCode)
{
$this->birthZipCode = $birthZipCode;
return $this;
}
/**
* Get birthZipCode
*
* @return int
*/
public function getBirthZipCode()
{
return $this->birthZipCode;
}
/**
* Set birthDepartment
*
* @param string $birthDepartment
*
* @return Child
*/
public function setBirthDepartment($birthDepartment)
{
$this->birthDepartment = $birthDepartment;
return $this;
}
/**
* Get birthDepartment
*
* @return string
*/
public function getBirthDepartment()
{
return $this->birthDepartment;
}
/**
* Set nationality
*
* @param string $nationality
*
* @return Child
*/
public function setNationality($nationality)
{
$this->nationality = $nationality;
return $this;
}
/**
* Get nationality
*
* @return string
*/
public function getNationality()
{
return $this->nationality;
}
/**
* Set birthCountry
*
* @param string $birthCountry
*
* @return Child
*/
public function setBirthCountry($birthCountry)
{
$this->birthCountry = $birthCountry;
return $this;
}
/**
* Get birthCountry
*
* @return string
*/
public function getBirthCountry()
{
return $this->birthCountry;
}
/**
* Set user
*
* @param \App\Entity\User $user
*
* @return Child
*/
public function setUser(\App\Entity\User $user)
{
$this->user = $user;
return $this;
}
/**
* Get user
*
* @return \App\Entity\User
*/
public function getUser()
{
return $this->user;
}
/**
* Set isDeleted
*
* @param boolean $isDeleted
*
* @return Child
*/
public function setIsDeleted($isDeleted)
{
$this->isDeleted = $isDeleted;
return $this;
}
/**
* Get isDeleted
*
* @return boolean
*/
public function getIsDeleted()
{
return $this->isDeleted;
}
/**
* @return mixed
*/
public function getGmaps()
{
return $this->gmaps;
}
/**
* @param mixed $gmaps
* @return User
*/
public function setGmaps($gmaps): self
{
$this->gmaps = $gmaps;
return $this;
}
}