<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Countries
*
* @ORM\Table(name="countries", indexes={@ORM\Index(name="IDX_COUNTRIES_NAME", columns={"countries_name"})})
* @ORM\Entity
*/
class Country
{
/**
* @var int
*
* @ORM\Column(name="countries_id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="countries_name", type="string", length=64, nullable=false)
*/
private $name = '';
/**
* @var string
*
* @ORM\Column(name="countries_iso_code_2", type="string", length=2, nullable=false, options={"fixed"=true})
*/
private $isoCode2 = '';
/**
* @var string
*
* @ORM\Column(name="countries_iso_code_3", type="string", length=3, nullable=false, options={"fixed"=true})
*/
private $isoCode3 = '';
/**
* @var int
*
* @ORM\Column(name="address_format_id", type="integer", nullable=false)
*/
private $addressFormatId = '0';
/**
* @var string
*
* @ORM\Column(name="countries_distri_name", type="string", length=64, nullable=false)
*/
private $distriName;
/**
* @var string
*
* @ORM\Column(name="countries_adresse", type="string", length=128, nullable=false)
*/
private $address;
/**
* @var string
*
* @ORM\Column(name="countries_website", type="string", length=128, nullable=false)
*/
private $website;
/**
* @var string
*
* @ORM\Column(name="countries_url", type="string", length=124, nullable=false)
*/
private $url;
/**
* @var string
*
* @ORM\Column(name="countries_tel", type="string", length=64, nullable=false)
*/
private $tel;
/**
* @var string
*
* @ORM\Column(name="countries_logo", type="string", length=128, nullable=false)
*/
private $logo;
/**
* @var int
*
* @ORM\Column(name="countries_blocage", type="integer", nullable=false)
*/
private $blocage = '0';
/**
* @var string
*
* @ORM\Column(name="countries_commercial", type="string", length=128, nullable=false)
*/
private $commercial;
/**
* @var string
*
* @ORM\Column(name="countries_texte_prix01", type="string", length=128, nullable=false)
*/
private $textePrix01;
/**
* @var string
*
* @ORM\Column(name="countries_texte_prix02", type="string", length=128, nullable=false)
*/
private $textePrix02;
/**
* @var string
*
* @ORM\Column(name="countries_texte_email01", type="string", length=512, nullable=false)
*/
private $texteEmail01;
/**
* @var string
*
* @ORM\Column(name="countries_email", type="string", length=128, nullable=false)
*/
private $email;
/**
* @var int
*
* @ORM\Column(name="countries_soleil", type="integer", nullable=false, options={"default"="1"})
*/
private $soleil = '1';
/**
* @var int
*
* @ORM\Column(name="countries_bienvenue", type="integer", nullable=false, options={"default"="1"})
*/
private $bienvenue = '1';
/**
* @var ?int
*
* @ORM\Column(name="countries_rank", type="integer", nullable=true)
*/
private $rank = '1';
public function getId() {
return $this->id;
}
public function getName() {
return $this->name;
}
public function getIsoCode2() {
return $this->isoCode2;
}
public function getIsoCode3() {
return $this->isoCode3;
}
public function getAddressFormatId() {
return $this->addressFormatId;
}
public function getDistriName() {
return $this->distriName;
}
public function getAddress() {
return $this->address;
}
public function getWebsite() {
return $this->website;
}
public function getUrl() {
return $this->url;
}
public function getTel() {
return $this->tel;
}
public function getLogo() {
return $this->logo;
}
public function getBlocage() {
return $this->blocage;
}
public function getCommercial() {
return $this->commercial;
}
public function getTextePrix01() {
return $this->textePrix01;
}
public function getTextePrix02() {
return $this->textePrix02;
}
public function getTexteEmail01() {
return $this->texteEmail01;
}
public function getEmail() {
return $this->email;
}
public function getSoleil() {
return $this->soleil;
}
public function getBienvenue() {
return $this->bienvenue;
}
public function getRank() {
return $this->rank;
}
public function setName($name) {
$this->name = $name;
}
public function setIsoCode2($isoCode2) {
$this->isoCode2 = $isoCode2;
}
public function setIsoCode3($isoCode3) {
$this->isoCode3 = $isoCode3;
}
public function setAddressFormatId($addressFormatId) {
$this->addressFormatId = $addressFormatId;
}
public function setDistriName($distriName) {
$this->distriName = $distriName;
}
public function setAddress($address) {
$this->address = $address;
}
public function setWebsite($website) {
$this->website = $website;
}
public function setUrl($url) {
$this->url = $url;
}
public function setTel($tel) {
$this->tel = $tel;
}
public function setLogo($logo) {
$this->logo = $logo;
}
public function setBlocage($blocage) {
$this->blocage = $blocage;
}
public function setCommercial($commercial) {
$this->commercial = $commercial;
}
public function setTextePrix01($textePrix01) {
$this->textePrix01 = $textePrix01;
}
public function setTextePrix02($textePrix02) {
$this->textePrix02 = $textePrix02;
}
public function setTexteEmail01($texteEmail01) {
$this->texteEmail01 = $texteEmail01;
}
public function setEmail($email) {
$this->email = $email;
}
public function setSoleil($soleil) {
$this->soleil = $soleil;
}
public function setBienvenue($bienvenue) {
$this->bienvenue = $bienvenue;
}
public function setRank(int $rank) {
$this->rank = $rank;
}
public function isDom() {
// 75 France - Guyane (DOM)
// 174 France - Réunion (DOM)
// 240 France - Guadeloupe (DOM)
// 241 France - Martinique (DOM)
return in_array($this->getId(), [75, 174, 240, 241]);
}
public function isFrance() {
return $this->isoCode3 == 'FRA';
}
public function toArray() : array{
$output = [
'id' => $this->getId(),
'name' => $this->getName(),
'isoCode2' => $this->getIsoCode2(),
'isoCode3' => $this->getIsoCode3(),
'addressFormatId' => $this->getAddressFormatId(),
'distriName' => $this->getDistriName(),
'address' => $this->getAddress(),
'website' => $this->getUrl(),
'url' => $this->getUrl(),
'tel' => $this->getTel(),
'logo' => $this->getLogo(),
'blocage' => $this->getBlocage(),
'commercial' => $this->getCommercial(),
'email' => $this->getEmail(),
'soleil' => $this->getSoleil(),
'bienvenue' => $this->getBienvenue()
];
return $output;
}
public function __toString() {
return $this->getName();
}
}