<?php
namespace App\Entity;
use App\Validator\ComplaintXDiscoverDates;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Entity(repositoryClass: "App\Repository\ComplaintXRepository")]
#[ORM\Table(name: "complaint_x")]
#[ComplaintXDiscoverDates(groups: ['complaint:dates'])]
class ComplaintX
{
public const STATUS_PAYMENT_PROCESSING = 0b000000001; //1
public const STATUS_PAYMENT_ACCEPTED = 0b000000010; //2
public const STATUS_DOCUMENT_CHECKED = 0b000000100; //4
public const STATUS_PAID = 0b000001000; //8
public const STATUS_SIGN_PENDING = 0b000010000; //16
public const STATUS_SIGNED = 0b000100000; //32
public const STATUS_CLOSED = 0b001000000; //64
const STATUS_PAYMENT_PENDING = 0;
const STATUS_PAYMENT_REQUIRE_CAPTURE = 1;
const STATUS_PAYMENT_PAID = 2;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $tgiBp;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $tgiPostalCode;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $tgiCommune;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $tgiName;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $tgiAdresses;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $vehicleMore;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $theftType;
public string $expressStep = "";
public string $expressOwner;
#[ORM\Column(name: "breakingsCarac", type: "string", nullable: true)]
private ?string $breakingsCarac;
#[ORM\Column(name: "isBreakingsFound", type: "boolean", nullable: true)]
private ?bool $isBreakingsFound;
#[ORM\Column(name: "factsMore", type: "text", nullable: true)]
private ?string $factsMore;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $locationType;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $stripeChargeId;
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: "complaintXs")]
#[ORM\JoinColumn(nullable: false)]
private User $user;
#[ORM\Column(type: "datetime")]
private DateTime $createdAt;
#[ORM\OneToMany(mappedBy: "complaintX", targetEntity: ComplaintXPhoto::class, cascade: ["persist", 'remove'])]
private Collection|array $complaintXPhotos;
#[ORM\Column(type: "text", nullable: true)]
private ?string $nonSavedItem;
#[ORM\Column(type: "text", nullable: true)]
private ?string $nonSavedPaymentMethod;
#[ORM\OneToMany(mappedBy: "complaintX", targetEntity: ComplaintXDocument::class, cascade: ["persist", 'remove'])]
private Collection|array $complaintXDocuments;
#[ORM\ManyToMany(targetEntity: PaymentMethod::class, inversedBy: "complaintXs")]
private Collection|array $paymentMethods;
#[ORM\ManyToMany(targetEntity: Item::class, inversedBy: "complaintXs")]
private Collection|array $items;
#[ORM\Column(type: "integer")]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: "AUTO")]
private ?int $id = null;
#[ORM\Column(type: "string", nullable: true)]
private ?string $whyNoTheft;
#[ORM\Column(type: "string", nullable: true)]
private ?string $whyNoneFound;
#[ORM\Column(type: "array", nullable: true)]
#[Assert\Choice(callback: "getStolenStuffs", multiple: true)]
private array $stolenStuff;
#[ORM\ManyToOne(targetEntity: Vehicle::class, inversedBy: "complaintXs")]
#[ORM\JoinColumn(nullable: true)]
private ?Vehicle $vehicle;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $parkingPlaceType;
#[ORM\Column(type: "string", length: 255, nullable: true)]
#[Assert\Choice(callback: "getVehicleStatutes", multiple: false)]
private ?string $vehicleStatut;
#[ORM\Column(type: "string", length: 255, nullable: true)]
#[Assert\Choice(callback: "getCivilities", multiple: false)]
private ?string $moreVehicleCivility;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $moreVehicleFirstName;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $moreVehicleLastName;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $moreVehicleSociety;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $moreVehicleAddress;
#[ORM\ManyToOne(targetEntity: Item::class, cascade: ["persist"], inversedBy: "stolenBike")]
#[Assert\Valid()]
private ?Item $stolenBike = null;
#[ORM\Column(type: "boolean", nullable: true)]
private ?bool $isProtectedByAntitheft;
#[ORM\Column(type: "string", length: 255, nullable: true)]
#[Assert\Choice(callback: "getCategories", multiple: false)]
#[Assert\NotBlank(message: 'Ce champ est obligatoire')]
private ?string $category;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $degradedItemNature;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $degradedItemStatut;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $degradedType;
#[ORM\ManyToOne(targetEntity: ComplaintX::class, inversedBy: "complaintXs")]
#[ORM\JoinColumn(nullable: true)]
private ?ComplaintX $complaintX;
#[ORM\OneToMany(mappedBy: "complaintX", targetEntity: ComplaintX::class, cascade: ["persist"])]
private Collection|array $complaintXs;
#[ORM\Column(type: "datetime", nullable: true)]
private ?DateTime $sentDate;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private string $postRegisteredNumber;
#[ORM\Column(type: "datetime", nullable: true)]
private ?DateTime $registeredReceiptDate;
#[ORM\Column(type: "text", nullable: true)]
private ?string $newDegradation;
#[ORM\Column(type: "boolean")]
private bool $isDeleted = false;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private string $stolenVehicleAccessory;
#[ORM\ManyToOne(targetEntity: Insurance::class, inversedBy: "complaintXs", cascade: ['persist'])]
#[ORM\JoinColumn(nullable: true)]
private ?Insurance $insurance;
#[ORM\Column(name: "victim", type: "string", length: 255, nullable: true)]
private ?string $victim = null;
#[ORM\Column(name: "declarer", type: "string", length: 255, nullable: true)]
#[Assert\NotBlank(message: 'Ce champ est obligatoire', groups: ["complaintx"])]
private ?string $declarer;
#[ORM\Column(name: "complainantQuality", type: "string", length: 255, nullable: true)]
#[Assert\NotBlank(message: 'Ce champ est obligatoire', groups: ["complaintx"])]
private ?string $complainantQuality;
#[ORM\Column(name: "isInsured", type: "boolean", nullable: true)]
private ?bool $isInsured;
#[ORM\Column(name: "factsDiscoverDate", type: "date", nullable: true)]
#[Assert\NotBlank(message: 'Ce champ est obligatoire', groups: ["complaintx"])]
private ?DateTime $factsDiscoverDate = null;
#[ORM\Column(name: "factsBeginDate", type: "date", nullable: true)]
#[Assert\NotBlank(message: 'Ce champ est obligatoire', groups: ["complaintx"])]
private ?DateTime $factsBeginDate = null;
#[ORM\Column(name: "factsEndDate", type: "date", nullable: true)]
private ?DateTime $factsEndDate = null;
#[ORM\Column(name: "factsDiscoverHour", type: "datetimetz", nullable: true)]
private ?DateTime $factsDiscoverHour = null;
#[ORM\Column(name: "factsBeginHour", type: "datetimetz", nullable: true)]
private ?DateTime $factsBeginHour = null;
#[ORM\Column(name: "factsEndHour", type: "datetimetz", nullable: true)]
private ?DateTime $factsEndHour = null;
#[ORM\Column(name: "factsAddress", type: "string", length: 255, nullable: true)]
#[Assert\NotBlank(message: 'Ce champ est obligatoire', groups: ["complaintx"])]
private ?string $factsAddress;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $factsAddressCity;
#[ORM\Column(name: "factsAddressZipCode", type: "string", length: 255, nullable: true)]
private ?int $factsAddressZipCode;
#[ORM\Column(name: "factsAddressStreetNumber", type: "string", length: 255, nullable: true)]
private ?int $factsAddressStreetNumber;
#[ORM\Column(name: "factsAddressRoadName", type: "string", length: 255, nullable: true)]
private ?string $factsAddressRoadName;
#[ORM\Column(name: "discoverCircumstance", type: "string", length: 255, nullable: true)]
#[Assert\NotBlank(message: 'Ce champ est obligatoire', groups: ["complaintx"])]
private ?string $discoverCircumstance;
#[ORM\Column(name: "factsWitnesses", type: "text", nullable: true)]
private ?string $factsWitnesses;
#[ORM\Column(name: "stealVictim", type: "boolean", nullable: true)]
private ?bool $stealVictim;
#[ORM\Column(name: "breakingsDegradationsFound", type: "string", nullable: true)]
private ?string $breakingsDegradationsFound;
#[ORM\Column(name: "prejudiceEstimate", type: "decimal", precision: 10, scale: 2, nullable: true)]
#[Assert\NotBlank(message: 'Ce champ est obligatoire', groups: ["complaintx"])]
private ?string $prejudiceEstimate;
#[ORM\Column(name: "cash", type: "string", length: 255, nullable: true)]
private ?string $cash;
#[ORM\Column(type: "boolean")]
private bool $isSigned = false;
#[ORM\ManyToOne]
private ?SelectValues $factsAttachmentMode = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $otherStolenItems = null;
#[ORM\Column(nullable: true)]
private ?bool $authorManageToEnter = null;
#[ORM\Column(nullable: true)]
private ?bool $isStolenFound = null;
#[ORM\ManyToOne(cascade: ["persist"])]
#[Assert\Valid()]
private ?Item $stolenPhone = null;
#[ORM\Column(type: Types::STRING, length: 255, nullable: true)]
private ?string $paymentIntentId = null;
#[ORM\Column(nullable: true)]
private ?int $status = null;
#[ORM\Column(length: 30, nullable: true)]
private ?string $paymentIntentStatus = null;
#[ORM\Column(nullable: true)]
private ?bool $hasDigitalSignature = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $signatureRequestId = null;
#[ORM\Column(nullable: true)]
private ?int $step = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $offerName = null;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
public static function getCivilities()
{
$arr = [
"Monsieur" => "mr",
"Madame" => "mrs",
];
return $arr;
}
public static function getWhyNoneFounds($category = 'null')
{
if (in_array($category, ['vehicleTheft'])) {
$arr = [
'mais le véhicule était bien fermé à clé et l’auteur a dû utiliser une fausse clé ou un dispositif de crochetage pour l’ouvrir ',
'mais la fourche était bien bloquée par le neiman',
'car le véhicule n\'était pas fermé à clé',
'car ce véhicule n\'est pas muni d\'un système anti vol',
'car ce véhicule ne ferme pas à clé',
];
return array_combine($arr, $arr);
} elseif ($category == 'accessoryVehicleTheft') {
$arr = [
'mais le véhicule était bien fermé à clé et l’auteur a dû utiliser une fausse clé ou un dispositif de crochetage pour l’ouvrir ',
'car le véhicule n’était pas fermé à clé',
'car le(s) auteurs(s) ne sont pas rentrés dans le véhicule',
'car il s\'agit d\'un deux roues',
'car ce véhicule ne se vérouille pas à clé',
];
return array_combine($arr, $arr);
} elseif ($category == 'insideVehicleTheft') {
$arr = [
'mais le véhicule était bien fermé à clé et l’auteur a dû utiliser une fausse clé ou un dispositif de crochetage pour l’ouvrir ',
'mais le top case était vérouillé et l’auteur a dû utiliser un dispositif de crochetage pour l’ouvrir ',
'mais les sacoches étaient vérouillées et l’auteur a dû utiliser un dispositif de crochetage pour l’ouvrir ',
'car le véhicule n’était pas fermé à clé',
'car le véhicule ne se vérouille pas à clé',
];
return array_combine($arr, $arr);
} elseif ($category == 'principalResidenceBurglary' || $category == 'secondResidenceBurglary') {
$arr = [
'car mon domicile n’était pas fermé à clé',
'car une porte était ouverte ',
'car une fenêtre était ouverte ',
'car une porte donnant sur le balcon n\'était pas vérouillée',
'car une fenêtre donnant sur le balcon était ouverte',
'mais mon domicile était bien fermé à clé et le ou les auteurs ont dû utiliser une fausse clé ou un dispositif de crochetage de la sérrure pour pénétrer à l\'intérieur',
];
return array_combine($arr, $arr);
} elseif ($category == 'otherPlaceBurglary') {
$arr = [
'car ce local ne ferme pas à clé',
'car ce local n’était pas fermé à clé',
'car une porte était ouverte',
'car une fenêtre était ouverte',
'car ce domicile n’était pas fermé à clé',
'car une porte donnant sur le balcon n\'était pas vérouillée',
'car une fenêtre donnant sur le balcon était ouverte',
'mais ce lieu était bien fermé à clé et le ou les auteurs ont dû utiliser une fausse clé ou un dispositif de crochetage de la sérrure pour pénétrer à l\'intérieur',
];
return array_combine($arr, $arr);
} else {
$arr = [
"car mon domicile n’était pas fermé à clé" => "notLocked",
"car une porte ou une fenêtre était ouverte" => "opened",
];
return $arr;
}
}
public static function getStolenStuffs()
{
$arr = [
"Portefeuille" => "wallet",
"Porte-monnaie" => "purse",
"Clés" => "keys",
];
return $arr;
}
public static function getParkingPlaceTypes()
{
$arr = [
'dans la cour de mon domicile',
'dans ma cour d’immeuble',
'dans mon garage',
'dans un box de parking souterrain',
'dans un box en extérieur',
'dans un parking souterrain privé',
'dans un parking souterrain public',
'sur la voie publique',
'sur la voie publique devant mon domicile',
'sur la voie publique devant mon garage',
'sur le parking d’un commerce',
'sur le parking d\'une société',
'sur le parking d\'un centre commercial',
'sur mon emplacement de parking extérieur',
'sur mon emplacement de parking souterrain',
'sur un chemin privé',
'sur un espace privé',
'sur un espace public',
'sur un parking privé extérieur',
'sur un parking public extérieur ',
'sur une voie privée ',
];
return array_combine($arr, $arr);
}
public static function getVehicleStatutes($user = null)
{
$arr = [
'Mon véhicule' => 'mine'
];
if (is_null($user) || ($user && $user->getPartner())) {
$arr['Le véhicule de mon conjoint'] = 'partner';
}
$arr['Un véhicule prêté par un particulier'] = 'loan';
$arr['Un véhicule prêté par une société / association'] = 'loancomp';
$arr['Un véhicule de location'] = 'rent';
$arr['Mon véhicule de fonction'] = 'work';
$arr['Mon véhicule de service'] = 'service';
return $arr;
}
public static function getWhyNoThefts($category = 'null')
{
if (in_array($category, ['vehicleTheft', 'insideVehicleTheft', 'accessoryVehicleTheft'])) {
$arr = [
"je n’ai constaté aucun vol, mais le véhicule a été entièrement fouillé",
"je n’ai constaté aucun vol",
];
} else {
$arr = [
"je n’ai constaté aucun vol",
];
}
return array_combine($arr, $arr);
}
public function __construct()
{
$this->createdAt = new DateTime();
$this->items = new ArrayCollection();
$this->paymentMethods = new ArrayCollection();
$this->complaintXPhotos = new ArrayCollection();
$this->complaintXDocuments = new ArrayCollection();
}
public function __toString()
{
return "#" . $this->id . " - " . $this->createdAt->format("d/m/Y H:i");
}
/**
*
*/
public static function getTheftTypes()
{
$arr = [
'dans une poche de vêtements',
'dans une poche de pantalon',
'dans une poche de veste',
'dans un portefeuille',
'de portefeuille',
'de porte-monnaie ',
'dans un sac',
'de sac',
'dans un sac à main',
'de sac à main',
'dans une sacoche',
'de sacoche',
'dans un porte document',
'de porte document',
'dans un chariot à provision',
'dans un cabas',
'de cabas ',
'de valise',
'dans une valise',
'de sac de sport',
'dans un sac de sport',
'de sac de voyage',
'dans un sac de voyage',
'dans un bureau',
'sur un bureau',
'dans un casier',
'sur une table',
];
return array_combine($arr, $arr);
}
public static function getBreakingCaracs()
{
$arr = [
"Bloque disque de frein dégradé",
"Cadenas antivol détruit",
"Canne de blocage de frein à main forcée",
"Canne de blocage de volant forcée",
"Chaine antivol dégradée",
"Colonne de direction forcée",
"Dispositif de bloquage de direction détruit",
"Fils du contacteur Neiman arrachés",
"Guidon dégradé",
"Habillage de la colone de direction détruit",
"Serrure Neiman détruit",
"U antivol dégradé",
"Volant forcé",
];
return array_combine($arr, $arr);
}
public static function getCategories(): array
{
$arr = [
"Cambriolage d'un domicile principal" => "principalResidenceBurglary",
"Cambriolage d'un domicile secondaire" => "secondResidenceBurglary",
"Cambriolage d'un autre local" => "otherPlaceBurglary",
"Cambriolage d'une résidence de vacances" => "vacancyResidenceBurglary",
"Cambriolage d'une chambre d'hôtel" => "hotelRoomBurglary",
"Dégradation d'un bien immobilier" => "itemDegradation",
"Mon véhicule" => "mine",
"Le véhicule de mon conjoint" => "partner",
"Un véhicule de location" => "rent",
"Un véhicule de prêt" => "loan",
"Un véhicule de fonction" => "work",
"Un véhicule de service" => "service",
"Vol de téléphone" => "phoneTheft",
"Vol simple" => "simpleTheft",
"Vol de vélo" => "bikeTheft",
"Vol dans un véhicule" => "insideVehicleTheft",
"Tentative de vol dans un véhicule" => "insideVehicleAttempt",
"Vol de pièces sur un véhicule" => "accessoryVehicleTheft",
"Tentative de vol de véhicule" => "vehicleTheft",
"Vol de véhicule" => "vehicleTheftTotal",
"Dégradation de véhicule" => "vehicleDegradation",
"Plainte complémentaire" => "additionalComplaint",
];
return $arr;
}
public static function getCategoriesByFilter(array $filter = [])
{
if ($filter['type'] !== null) {
if ($filter['type'] === 'main') {
return [
"Dégradation de votre domicile principal" => "itemDegradation",
];
} elseif ($filter['type'] === 'second') {
return [
"Dégradation de votre domicile secondaire" => "itemDegradation",
];
} elseif ($filter['type'] === 'room') {
return [
"Dégradation de votre local" => "itemDegradation",
];
}
}
$arr = [
"Dégradation de votre local" => "itemDegradation",
"Dégradation de votre domicile principal" => "principalResidenceBurglary",
"Dégradation de votre domicile secondaire" => "secondResidenceBurglary",
"Dégradation de local" => "otherPlaceBurglary",
"Dégradation de votre résidence de vacances" => "vacancyResidenceBurglary",
"Dégradation de votre chambre d'hôtel" => "hotelRoomBurglary",
"Vol de téléphone mobile" => "phoneTheft",
"Vol simple" => "simpleTheft",
"Vol de vélo" => "bikeTheft",
"Vol dans un véhicule" => "insideVehicleTheft",
"Tentative de vol dans un véhicule" => "insideVehicleAttempt",
"Vol de pièces sur un véhicule" => "accessoryVehicleTheft",
"Tentative de vol d'un véhicule" => "vehicleTheft",
"Vol de véhicule" => "vehicleTheftTotal",
"Dégradation de véhicule" => "vehicleDegradation",
"Plainte complémentaire" => "additionalComplaint",
];
if ($filter['breaking'] && $filter['stealing']) {
$arr = array_merge($arr, [
"Vol avec effraction de votre domicile principal" => "principalResidenceBurglary",
"Vol avec effraction de votre domicile secondaire" => "secondResidenceBurglary",
"Vol avec effraction de votre local" => "otherPlaceBurglary",
"Vol avec effraction de votre résidence de vacances" => "vacancyResidenceBurglary",
"Vol avec effraction de votre chambre d'hôtel" => "hotelRoomBurglary",
]);
}
if (!$filter['breaking'] && $filter['stealing']) {
$arr = array_merge($arr, [
"Vol sans effraction " => "principalResidenceBurglary",
"Vol sans effraction " => "secondResidenceBurglary",
"Vol sans effraction " => "otherPlaceBurglary",
"Vol sans effraction " => "vacancyResidenceBurglary",
"Vol sans effraction " => "hotelRoomBurglary",
]);
}
if ($filter['breaking'] && !$filter['stealing']) {
$arr = array_merge($arr, [
"Tentative de vol avec effraction" => "principalResidenceBurglary",
"Tentative de vol avec effraction " => "secondResidenceBurglary",
"Tentative de vol avec effraction " => "otherPlaceBurglary",
]);
}
return $arr;
}
public function getCategoryDetails(): string
{
if ((!$this->isBreakingsFound && $this->isStolenFound) || ($this->isBreakingsFound && !$this->isStolenFound)) {
switch ($this->category) {
case "principalResidenceBurglary":
return "Domicile principal";
case "secondResidenceBurglary":
return "Domicile secondaire";
case "otherPlaceBurglary":
return "Local";
case "vacancyResidenceBurglary":
return "Résidence de vacance";
case "hotelRoomBurglary":
return "Chambre d'hôtel";
}
}
return "";
}
public static function getItemNatures()
{
$arr = [
'Boite à lettre',
'Emplacement de parking',
'Garage',
'Grillage de clôture',
'Mur d’appartement',
'Mur de clôture',
'Mur de maison',
'Portail ',
'Porte d’entrée',
'Porte de box',
'Porte de garage',
'Portillon',
'Poteau de clôture',
'Poubelle',
];
return array_combine($arr, $arr);
}
/**
*
*/
public static function degradedTypes()
{
$arr = [
'Dessins aux feutres',
'Graffitis',
'Grillage découpé',
'Grillage détruit',
'Inscriptions à la peinture',
'Inscriptions manuscrites',
'Rayures',
'Tags',
'Textes d’injures',
'Trace d’incendie',
'Traces de choc',
'Traces de combustion légère',
'Traces de coups',
'Traces de peinture',
'Vitres brisées',
];
return array_combine($arr, $arr);
}
/**
*
*/
public static function getStolenVehicleAccessories()
{
$arr = [
'Antenne de toit',
'Batterie ',
'Calendre',
'Capot arrière',
'Capot avant',
'Clignotant arrière droit',
'Clignotant arrière gauche',
'Clignotant avant droit',
'Clignotant avant gauche',
'Coffre à bagages de toit',
'Elément(s) de carénage ',
'Elément(s) de carrosserie',
'Optique de feu arrière de moto/cyclo',
'Optique de feu arrière droit',
'Optique de feu arrière gauche',
'Optique de phare avant droit',
'Optique de phare avant gauche',
'Optique de phare moto/cyclo',
'Optiques de clignotants',
'Parechoc arrière',
'Parechoc avant',
'Plaques d’immatriculation',
'Pot catalytique ',
'Pot d’échappement',
'Rétroviseur droit',
'Rétroviseurs gauche',
'Roue(s)',
];
return array_combine($arr, $arr);
}
/**
*
*/
public static function getLocationTypes()
{
$arr = [
'dans la cours de mon immeuble',
'dans une cours d’immeuble',
'dans la cours de ma maison',
'dans le local à vélo de l’immeuble',
'dans un local à vélo',
'dans un jardin',
'dans un local prive',
'dans un parking prive',
'dans un parking public',
'sur la voie publique',
'devant un commerce ou je faisais des courses',
'sur le parking d’un commerce',
'sur le parking d’un centre commercial',
'sur un espace prive aménagé pour le stationnement des cycles',
'sur un espace prive non aménagé',
'sur un espace public aménagé pour le stationnement des cycles',
'sur un espace public non aménagé',
];
return array_combine($arr, $arr);
}
/**
* Set category
*
* @param string $category
*
* @return ComplaintX
*/
public function setCategory($category)
{
$this->category = $category;
return $this;
}
/**
* Get category
*
* @return string
*/
public function getCategory()
{
return $this->category;
}
/**
* Set declarer
*
* @param string $declarer
*
* @return ComplaintX
*/
public function setDeclarer($declarer)
{
$this->declarer = $declarer;
return $this;
}
/**
* Get declarer
*
* @return string
*/
public function getDeclarer()
{
return $this->declarer;
}
/**
* Set complainantQuality
*
* @param string $complainantQuality
*
* @return ComplaintX
*/
public function setComplainantQuality($complainantQuality)
{
$this->complainantQuality = $complainantQuality;
return $this;
}
/**
* Get complainantQuality
*
* @return string
*/
public function getComplainantQuality()
{
return $this->complainantQuality;
}
/**
* Set isInsured
*
* @param boolean $isInsured
*
* @return ComplaintX
*/
public function setIsInsured($isInsured)
{
$this->isInsured = $isInsured;
return $this;
}
/**
* Get isInsured
*
* @return bool
*/
public function getIsInsured()
{
return $this->isInsured;
}
/**
* Set factsDiscoverDate
*
* @param DateTime $factsDiscoverDate
*
* @return ComplaintX
*/
public function setFactsDiscoverDate($factsDiscoverDate)
{
$this->factsDiscoverDate = $factsDiscoverDate;
return $this;
}
/**
* Get factsDiscoverDate
*
* @return DateTime
*/
public function getFactsDiscoverDate()
{
return $this->factsDiscoverDate;
}
/**
* Set factsBeginDate
*
* @param DateTime $factsBeginDate
*
* @return ComplaintX
*/
public function setFactsBeginDate($factsBeginDate)
{
$this->factsBeginDate = $factsBeginDate;
return $this;
}
/**
* Get factsBeginDate
*
* @return DateTime
*/
public function getFactsBeginDate()
{
return $this->factsBeginDate;
}
/**
* Set factsEndDate
*
* @param DateTime $factsEndDate
*
* @return ComplaintX
*/
public function setFactsEndDate($factsEndDate)
{
$this->factsEndDate = $factsEndDate;
return $this;
}
/**
* Get factsEndDate
*
* @return DateTime
*/
public function getFactsEndDate()
{
return $this->factsEndDate;
}
/**
* Set factsAddress
*
* @param string $factsAddress
*
* @return ComplaintX
*/
public function setFactsAddress($factsAddress)
{
$this->factsAddress = $factsAddress;
return $this;
}
/**
* Get factsAddress
*
* @return string
*/
public function getFactsAddress()
{
return $this->factsAddress;
}
/**
* Set factsWitnesses
*
* @param string $factsWitnesses
*
* @return ComplaintX
*/
public function setFactsWitnesses($factsWitnesses)
{
$this->factsWitnesses = $factsWitnesses;
return $this;
}
/**
* Get factsWitnesses
*
* @return string
*/
public function getFactsWitnesses()
{
return $this->factsWitnesses;
}
/**
* Set stealVictim
*
* @param boolean $stealVictim
*
* @return ComplaintX
*/
public function setStealVictim($stealVictim)
{
$this->stealVictim = $stealVictim;
return $this;
}
/**
* Get stealVictim
*
* @return bool
*/
public function getStealVictim()
{
return $this->stealVictim;
}
/**
* Set createdAt
*
* @param DateTime $createdAt
*
* @return ComplaintX
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt
*
* @return DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set prejudiceEstimate
*
* @param string $prejudiceEstimate
*
* @return ComplaintX
*/
public function setPrejudiceEstimate($prejudiceEstimate)
{
$this->prejudiceEstimate = $prejudiceEstimate;
return $this;
}
/**
* Get prejudiceEstimate
*
* @return string
*/
public function getPrejudiceEstimate()
{
return $this->prejudiceEstimate;
}
/**
* Set cash
*
* @param string $cash
*
* @return ComplaintX
*/
public function setCash($cash)
{
$this->cash = $cash;
return $this;
}
/**
* Get cash
*
* @return string
*/
public function getCash()
{
return $this->cash;
}
/**
* Set isSigned
*
* @param boolean $isSigned
*
* @return ComplaintX
*/
public function setIsSigned($isSigned)
{
$this->isSigned = $isSigned;
return $this;
}
/**
* Get isSigned
*
* @return boolean
*/
public function getIsSigned()
{
return $this->isSigned;
}
/**
* Add complaintXPhoto
*
* @param \App\Entity\ComplaintXPhoto $complaintXPhoto
*
* @return ComplaintX
*/
public function addComplaintXPhoto(\App\Entity\ComplaintXPhoto $complaintXPhoto)
{
$this->complaintXPhotos[] = $complaintXPhoto;
$complaintXPhoto->setComplaintX($this);
return $this;
}
/**
* Remove complaintXPhoto
*
* @param \App\Entity\ComplaintXPhoto $complaintXPhoto
*/
public function removeComplaintXPhoto(\App\Entity\ComplaintXPhoto $complaintXPhoto)
{
$this->complaintXPhotos->removeElement($complaintXPhoto);
}
/**
* Get complaintXPhotos
*
* @return Collection
*/
public function getComplaintXPhotos()
{
return $this->complaintXPhotos;
}
/**
* Add complaintXDocument
*
* @param \App\Entity\ComplaintXDocument $complaintXDocument
*
* @return ComplaintX
*/
public function addComplaintXDocument(\App\Entity\ComplaintXDocument $complaintXDocument)
{
$this->complaintXDocuments[] = $complaintXDocument;
$complaintXDocument->setComplaintX($this);
return $this;
}
/**
* Remove complaintXDocument
*
* @param \App\Entity\ComplaintXDocument $complaintXDocument
*/
public function removeComplaintXDocument(\App\Entity\ComplaintXDocument $complaintXDocument)
{
$this->complaintXDocuments->removeElement($complaintXDocument);
}
/**
* Get complaintXDocuments
*
* @return Collection
*/
public function getComplaintXDocuments()
{
return $this->complaintXDocuments;
}
/**
* Add item
*
* @param \App\Entity\Item $item
*
* @return ComplaintX
*/
public function addItem(\App\Entity\Item $item)
{
$this->items[] = $item;
return $this;
}
/**
* Remove item
*
* @param \App\Entity\Item $item
*/
public function removeItem(\App\Entity\Item $item)
{
$this->items->removeElement($item);
}
/**
* Get items
*
* @return Collection
*/
public function getItems()
{
return $this->items;
}
/**
* Set user
*
* @param \App\Entity\User $user
*
* @return ComplaintX
*/
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 stripeChargeId
*
* @param string $stripeChargeId
*
* @return ComplaintX
*/
public function setStripeChargeId($stripeChargeId)
{
$this->stripeChargeId = $stripeChargeId;
return $this;
}
/**
* Get stripeChargeId
*
* @return string
*/
public function getStripeChargeId()
{
return $this->stripeChargeId;
}
/**
* Set nonSavedItem
*
* @param string $nonSavedItem
*
* @return ComplaintX
*/
public function setNonSavedItem($nonSavedItem)
{
$this->nonSavedItem = $nonSavedItem;
return $this;
}
/**
* Get nonSavedItem
*
* @return string
*/
public function getNonSavedItem()
{
return $this->nonSavedItem;
}
/**
* Set nonSavedPaymentMethod
*
* @param string $nonSavedPaymentMethod
*
* @return ComplaintX
*/
public function setNonSavedPaymentMethod($nonSavedPaymentMethod)
{
$this->nonSavedPaymentMethod = $nonSavedPaymentMethod;
return $this;
}
/**
* Get nonSavedPaymentMethod
*
* @return string
*/
public function getNonSavedPaymentMethod()
{
return $this->nonSavedPaymentMethod;
}
/**
* Add paymentMethod
*
* @param \App\Entity\PaymentMethod $paymentMethod
*
* @return ComplaintX
*/
public function addPaymentMethod(\App\Entity\PaymentMethod $paymentMethod)
{
$this->paymentMethods[] = $paymentMethod;
return $this;
}
/**
* Remove paymentMethod
*
* @param \App\Entity\PaymentMethod $paymentMethod
*/
public function removePaymentMethod(\App\Entity\PaymentMethod $paymentMethod)
{
$this->paymentMethods->removeElement($paymentMethod);
}
/**
* Get paymentMethods
*
* @return Collection
*/
public function getPaymentMethods()
{
return $this->paymentMethods;
}
/**
* Set stolenStuff
*
* @param array $stolenStuff
*
* @return ComplaintX
*/
public function setStolenStuff($stolenStuff)
{
$this->stolenStuff = $stolenStuff;
return $this;
}
/**
* Get stolenStuff
*
* @return array
*/
public function getStolenStuff()
{
return $this->stolenStuff;
}
/**
* Set parkingPlaceType
*
* @param string $parkingPlaceType
*
* @return ComplaintX
*/
public function setParkingPlaceType($parkingPlaceType)
{
$this->parkingPlaceType = $parkingPlaceType;
return $this;
}
/**
* Get parkingPlaceType
*
* @return string
*/
public function getParkingPlaceType()
{
return $this->parkingPlaceType;
}
/**
* Set vehicleStatut
*
* @param string $vehicleStatut
*
* @return ComplaintX
*/
public function setVehicleStatut($vehicleStatut)
{
$this->vehicleStatut = $vehicleStatut;
return $this;
}
/**
* Get vehicleStatut
*
* @return string
*/
public function getVehicleStatut()
{
return $this->vehicleStatut;
}
/**
* Set stolenBike
*
* @param string $stolenBike
*
* @return ComplaintX
*/
public function setStolenBike($stolenBike)
{
$this->stolenBike = $stolenBike;
return $this;
}
/**
* Get stolenBike
*
* @return string
*/
public function getStolenBike()
{
return $this->stolenBike;
}
/**
* Set isProtectedByAntitheft
*
* @param boolean $isProtectedByAntitheft
*
* @return ComplaintX
*/
public function setIsProtectedByAntitheft($isProtectedByAntitheft)
{
$this->isProtectedByAntitheft = $isProtectedByAntitheft;
return $this;
}
/**
* Get isProtectedByAntitheft
*
* @return boolean
*/
public function getIsProtectedByAntitheft()
{
return $this->isProtectedByAntitheft;
}
/**
* Set degradedItemNature
*
* @param string $degradedItemNature
*
* @return ComplaintX
*/
public function setDegradedItemNature($degradedItemNature)
{
$this->degradedItemNature = $degradedItemNature;
return $this;
}
/**
* Get degradedItemNature
*
* @return string
*/
public function getDegradedItemNature()
{
return $this->degradedItemNature;
}
/**
* Set degradedItemStatut
*
* @param string $degradedItemStatut
*
* @return ComplaintX
*/
public function setDegradedItemStatut($degradedItemStatut)
{
$this->degradedItemStatut = $degradedItemStatut;
return $this;
}
/**
* Get degradedItemStatut
*
* @return string
*/
public function getDegradedItemStatut()
{
return $this->degradedItemStatut;
}
/**
* Set degradedType
*
* @param string $degradedType
*
* @return ComplaintX
*/
public function setDegradedType($degradedType)
{
$this->degradedType = $degradedType;
return $this;
}
/**
* Get degradedType
*
* @return string
*/
public function getDegradedType()
{
return $this->degradedType;
}
/**
* Set sentDate
*
* @param DateTime $sentDate
*
* @return ComplaintX
*/
public function setSentDate($sentDate)
{
$this->sentDate = $sentDate;
return $this;
}
/**
* Get sentDate
*
* @return DateTime
*/
public function getSentDate()
{
return $this->sentDate;
}
/**
* Set postRegisteredNumber
*
* @param string $postRegisteredNumber
*
* @return ComplaintX
*/
public function setPostRegisteredNumber($postRegisteredNumber)
{
$this->postRegisteredNumber = $postRegisteredNumber;
return $this;
}
/**
* Get postRegisteredNumber
*
* @return string
*/
public function getPostRegisteredNumber()
{
return $this->postRegisteredNumber;
}
/**
* Set registeredReceiptDate
*
* @param DateTime $registeredReceiptDate
*
* @return ComplaintX
*/
public function setRegisteredReceiptDate($registeredReceiptDate)
{
$this->registeredReceiptDate = $registeredReceiptDate;
return $this;
}
/**
* Get registeredReceiptDate
*
* @return DateTime
*/
public function getRegisteredReceiptDate()
{
return $this->registeredReceiptDate;
}
/**
* Set newDegradation
*
* @param string $newDegradation
*
* @return ComplaintX
*/
public function setNewDegradation($newDegradation)
{
$this->newDegradation = $newDegradation;
return $this;
}
/**
* Get newDegradation
*
* @return string
*/
public function getNewDegradation()
{
return $this->newDegradation;
}
/**
* Set isDeleted
*
* @param boolean $isDeleted
*
* @return ComplaintX
*/
public function setIsDeleted($isDeleted)
{
$this->isDeleted = $isDeleted;
return $this;
}
/**
* Get isDeleted
*
* @return boolean
*/
public function getIsDeleted()
{
return $this->isDeleted;
}
/**
* Set stolenVehicleAccessory
*
* @param string $stolenVehicleAccessory
*
* @return ComplaintX
*/
public function setStolenVehicleAccessory($stolenVehicleAccessory)
{
$this->stolenVehicleAccessory = $stolenVehicleAccessory;
return $this;
}
/**
* Get stolenVehicleAccessory
*
* @return string
*/
public function getStolenVehicleAccessory()
{
return $this->stolenVehicleAccessory;
}
/**
* Set vehicle
*
* @param \App\Entity\Vehicle $vehicle
*
* @return ComplaintX
*/
public function setVehicle(\App\Entity\Vehicle $vehicle = null)
{
$this->vehicle = $vehicle;
return $this;
}
/**
* Get vehicle
*
* @return \App\Entity\Vehicle
*/
public function getVehicle()
{
return $this->vehicle;
}
/**
* Set complaintX
*
* @param \App\Entity\ComplaintX $complaintX
*
* @return ComplaintX
*/
public function setComplaintX(\App\Entity\ComplaintX $complaintX = null)
{
$this->complaintX = $complaintX;
return $this;
}
/**
* Get complaintX
*
* @return \App\Entity\ComplaintX
*/
public function getComplaintX()
{
return $this->complaintX;
}
/**
* Add complaintX
*
* @param \App\Entity\ComplaintX $complaintX
*
* @return ComplaintX
*/
public function addComplaintX(\App\Entity\ComplaintX $complaintX)
{
$this->complaintXs[] = $complaintX;
return $this;
}
/**
* Remove complaintX
*
* @param \App\Entity\ComplaintX $complaintX
*/
public function removeComplaintX(\App\Entity\ComplaintX $complaintX)
{
$this->complaintXs->removeElement($complaintX);
}
/**
* Get complaintXs
*
* @return Collection
*/
public function getComplaintXs()
{
return $this->complaintXs;
}
/**
* Set insurance
*
* @param \App\Entity\Insurance $insurance
*
* @return ComplaintX
*/
public function setInsurance(\App\Entity\Insurance $insurance = null)
{
$this->insurance = $insurance;
return $this;
}
/**
* Get insurance
*
* @return \App\Entity\Insurance
*/
public function getInsurance()
{
return $this->insurance;
}
/**
* Set breakingsDegradationsFound
*
* @param array $breakingsDegradationsFound
*
* @return ComplaintX
*/
public function setBreakingsDegradationsFound($breakingsDegradationsFound)
{
$this->breakingsDegradationsFound = $breakingsDegradationsFound;
return $this;
}
/**
* Get breakingsDegradationsFound
*
* @return array
*/
public function getBreakingsDegradationsFound()
{
return $this->breakingsDegradationsFound;
}
/**
* Set discoverCircumstance
*
* @param string $discoverCircumstance
*
* @return ComplaintX
*/
public function setDiscoverCircumstance($discoverCircumstance)
{
$this->discoverCircumstance = $discoverCircumstance;
return $this;
}
/**
* Get discoverCircumstance
*
* @return string
*/
public function getDiscoverCircumstance()
{
return $this->discoverCircumstance;
}
/**
* Set factsMore.
*
* @param string|null $factsMore
*
* @return ComplaintX
*/
public function setFactsMore($factsMore = null)
{
$this->factsMore = $factsMore;
return $this;
}
/**
* Get factsMore.
*
* @return string|null
*/
public function getFactsMore()
{
return $this->factsMore;
}
/**
* Set isBreakingsFound.
*
* @param bool $isBreakingsFound
*
* @return ComplaintX
*/
public function setIsBreakingsFound($isBreakingsFound)
{
$this->isBreakingsFound = $isBreakingsFound;
return $this;
}
/**
* Get isBreakingsFound.
*
* @return bool
*/
public function getIsBreakingsFound()
{
return $this->isBreakingsFound;
}
/**
* Set whyNoneFound.
*
* @param string|null $whyNoneFound
*
* @return ComplaintX
*/
public function setWhyNoneFound($whyNoneFound = null)
{
$this->whyNoneFound = $whyNoneFound;
return $this;
}
/**
* Get whyNoneFound.
*
* @return string|null
*/
public function getWhyNoneFound()
{
return $this->whyNoneFound;
}
/**
* Set moreVehicleCivility.
*
* @param string|null $moreVehicleCivility
*
* @return ComplaintX
*/
public function setMoreVehicleCivility($moreVehicleCivility = null)
{
$this->moreVehicleCivility = $moreVehicleCivility;
return $this;
}
/**
* Get moreVehicleCivility.
*
* @return string|null
*/
public function getMoreVehicleCivility()
{
return $this->moreVehicleCivility;
}
/**
* Set moreVehicleFirstName.
*
* @param string|null $moreVehicleFirstName
*
* @return ComplaintX
*/
public function setMoreVehicleFirstName($moreVehicleFirstName = null)
{
$this->moreVehicleFirstName = $moreVehicleFirstName;
return $this;
}
/**
* Get moreVehicleFirstName.
*
* @return string|null
*/
public function getMoreVehicleFirstName()
{
return $this->moreVehicleFirstName;
}
/**
* Set moreVehicleLastName.
*
* @param string|null $moreVehicleLastName
*
* @return ComplaintX
*/
public function setMoreVehicleLastName($moreVehicleLastName = null)
{
$this->moreVehicleLastName = $moreVehicleLastName;
return $this;
}
/**
* Get moreVehicleLastName.
*
* @return string|null
*/
public function getMoreVehicleLastName()
{
return $this->moreVehicleLastName;
}
/**
* Set moreVehicleSociety.
*
* @param string|null $moreVehicleSociety
*
* @return ComplaintX
*/
public function setMoreVehicleSociety($moreVehicleSociety = null)
{
$this->moreVehicleSociety = $moreVehicleSociety;
return $this;
}
/**
* Get moreVehicleSociety.
*
* @return string|null
*/
public function getMoreVehicleSociety()
{
return $this->moreVehicleSociety;
}
/**
* Set moreVehicleAddress.
*
* @param string|null $moreVehicleAddress
*
* @return ComplaintX
*/
public function setMoreVehicleAddress($moreVehicleAddress = null)
{
$this->moreVehicleAddress = $moreVehicleAddress;
return $this;
}
/**
* Get moreVehicleAddress.
*
* @return string|null
*/
public function getMoreVehicleAddress()
{
return $this->moreVehicleAddress;
}
/**
* Set victim.
*
* @param string|null $victim
*
* @return ComplaintX
*/
public function setVictim($victim = null)
{
$this->victim = $victim;
return $this;
}
/**
* Get victim.
*
* @return string|null
*/
public function getVictim()
{
return $this->victim;
}
/**
* Set locationType.
*
* @param string|null $locationType
*
* @return ComplaintX
*/
public function setLocationType($locationType = null)
{
$this->locationType = $locationType;
return $this;
}
/**
* Get locationType.
*
* @return string|null
*/
public function getLocationType()
{
return $this->locationType;
}
/**
* Set theftType.
*
* @param string|null $theftType
*
* @return ComplaintX
*/
public function setTheftType($theftType = null)
{
$this->theftType = $theftType;
return $this;
}
/**
* Get theftType.
*
* @return string|null
*/
public function getTheftType()
{
return $this->theftType;
}
/**
* Set factsDiscoverHour.
*
* @param DateTime|null $factsDiscoverHour
*
* @return ComplaintX
*/
public function setFactsDiscoverHour($factsDiscoverHour = null)
{
$this->factsDiscoverHour = $factsDiscoverHour;
return $this;
}
/**
* Get factsDiscoverHour.
*
* @return DateTime|null
*/
public function getFactsDiscoverHour()
{
return $this->factsDiscoverHour;
}
/**
* Set factsBeginHour.
*
* @param DateTime|null $factsBeginHour
*
* @return ComplaintX
*/
public function setFactsBeginHour($factsBeginHour = null)
{
$this->factsBeginHour = $factsBeginHour;
return $this;
}
/**
* Get factsBeginHour.
*
* @return DateTime|null
*/
public function getFactsBeginHour()
{
return $this->factsBeginHour;
}
/**
* Set factsEndHour.
*
* @param DateTime|null $factsEndHour
*
* @return ComplaintX
*/
public function setFactsEndHour($factsEndHour = null)
{
$this->factsEndHour = $factsEndHour;
return $this;
}
/**
* Get factsEndHour.
*
* @return DateTime|null
*/
public function getFactsEndHour()
{
return $this->factsEndHour;
}
/**
* Set breakingsCarac.
*
* @param string|null $breakingsCarac
*
* @return ComplaintX
*/
public function setBreakingsCarac($breakingsCarac = null)
{
$this->breakingsCarac = $breakingsCarac;
return $this;
}
/**
* Get breakingsCarac.
*
* @return string|null
*/
public function getBreakingsCarac()
{
return $this->breakingsCarac;
}
/**
* Set whyNoTheft.
*
* @param string|null $whyNoTheft
*
* @return ComplaintX
*/
public function setWhyNoTheft($whyNoTheft = null)
{
$this->whyNoTheft = $whyNoTheft;
return $this;
}
/**
* Get whyNoTheft.
*
* @return string|null
*/
public function getWhyNoTheft()
{
return $this->whyNoTheft;
}
/**
* Set vehicleMore.
*
* @param string|null $vehicleMore
*
* @return ComplaintX
*/
public function setVehicleMore($vehicleMore = null)
{
$this->vehicleMore = $vehicleMore;
return $this;
}
/**
* Get vehicleMore.
*
* @return string|null
*/
public function getVehicleMore()
{
return $this->vehicleMore;
}
/**
* Set tgiPostalCode.
*
* @param string|null $tgiPostalCode
*
* @return ComplaintX
*/
public function setTgiPostalCode($tgiPostalCode = null)
{
$this->tgiPostalCode = $tgiPostalCode;
return $this;
}
/**
* Get tgiPostalCode.
*
* @return string|null
*/
public function getTgiPostalCode()
{
return $this->tgiPostalCode;
}
/**
* Set tgiCommune.
*
* @param string|null $tgiCommune
*
* @return ComplaintX
*/
public function setTgiCommune($tgiCommune = null)
{
$this->tgiCommune = $tgiCommune;
return $this;
}
/**
* Get tgiCommune.
*
* @return string|null
*/
public function getTgiCommune()
{
return $this->tgiCommune;
}
/**
* Set tgiName.
*
* @param string|null $tgiName
*
* @return ComplaintX
*/
public function setTgiName($tgiName = null)
{
$this->tgiName = $tgiName;
return $this;
}
/**
* Get tgiName.
*
* @return string|null
*/
public function getTgiName()
{
return $this->tgiName;
}
/**
* Set tgiAdresses.
*
* @param string|null $tgiAdresses
*
* @return ComplaintX
*/
public function setTgiAdresses($tgiAdresses = null)
{
$this->tgiAdresses = $tgiAdresses;
return $this;
}
/**
* Get tgiAdresses.
*
* @return string|null
*/
public function getTgiAdresses()
{
return $this->tgiAdresses;
}
/**
* Set tgiBp.
*
* @param string|null $tgiBp
*
* @return ComplaintX
*/
public function setTgiBp($tgiBp = null)
{
$this->tgiBp = $tgiBp;
return $this;
}
/**
* Get tgiBp.
*
* @return string|null
*/
public function getTgiBp()
{
return $this->tgiBp;
}
/**
* Set factsAddressCity.
*
* @param string|null $factsAddressCity
*
* @return ComplaintX
*/
public function setFactsAddressCity($factsAddressCity = null)
{
$this->factsAddressCity = $factsAddressCity;
return $this;
}
/**
* Get factsAddressCity.
*
* @return string|null
*/
public function getFactsAddressCity()
{
return $this->factsAddressCity;
}
/**
* Set factsAddressZipCode.
*
* @param string|null $factsAddressZipCode
*
* @return ComplaintX
*/
public function setFactsAddressZipCode($factsAddressZipCode = null)
{
$this->factsAddressZipCode = $factsAddressZipCode;
return $this;
}
/**
* Get factsAddressZipCode.
*
* @return string|null
*/
public function getFactsAddressZipCode()
{
return $this->factsAddressZipCode;
}
/**
* Set factsAddressStreetNumber.
*
* @param string|null $factsAddressStreetNumber
*
* @return ComplaintX
*/
public function setFactsAddressStreetNumber($factsAddressStreetNumber = null)
{
$this->factsAddressStreetNumber = $factsAddressStreetNumber;
return $this;
}
/**
* Get factsAddressStreetNumber.
*
* @return string|null
*/
public function getFactsAddressStreetNumber()
{
return $this->factsAddressStreetNumber;
}
/**
* Set factsAddressRoadName.
*
* @param string|null $factsAddressRoadName
*
* @return ComplaintX
*/
public function setFactsAddressRoadName($factsAddressRoadName = null)
{
$this->factsAddressRoadName = $factsAddressRoadName;
return $this;
}
/**
* Get factsAddressRoadName.
*
* @return string|null
*/
public function getFactsAddressRoadName()
{
return $this->factsAddressRoadName;
}
/**
*
*/
public static function getDiscoverCircumstances($category)
{
if ($category == "itemDegradation") {
$arr = [
'Alors que je me trouvais dans mon jardin',
'Après avoir été prévenu téléphoniquement',
'En arrivant à mon domicile',
'En rentrant chez moi',
'En rentrant d’un rendez-vous de travail',
'En rentrant de vacances ',
'En rentrant de voyage',
'En rentrant de week-end',
'En rentrant du travail',
'En revenant d’une activité sportive ',
'En revenant d’une promenade ',
'En revenant de faire des courses ',
'En revenant de l’école avec mes enfants',
'En sortant de chez des amis',
'En sortant de chez moi',
];
} elseif ($category == "principalResidenceBurglary") {
$arr = [
'En rentrant chez moi',
'En arrivant à mon domicile',
'En sortant de chez moi',
'En rentrant du travail',
'En rentrant de week-end',
'En rentrant de vacances ',
'En rentrant de faire des courses ',
'En revenant de l’école avec mes enfants',
'En revenant d’une promenade ',
'En rentrant d’une activité sportive ',
'Alors que je me trouvais à l’intérieur de mon domicile',
'Alors que je me trouvais dans mon jardin',
'Après avoir été prévenu téléphoniquement',
];
} elseif ($category == "secondResidenceBurglary") {
$arr = [
'En rentrant chez moi',
'En arrivant à mon domicile',
'En sortant de chez moi',
'En arrivant chez moi pour le week-end',
'En arrivant chez moi pour des vacances ',
'En rentrant de faire des courses ',
'En revenant d’une promenade ',
'En rentrant d’une activité sportive ',
'Alors que je me trouvais à l’intérieur de mon domicile',
'Alors que je me trouvais dans mon jardin',
'Après avoir été prévenu téléphoniquement',
];
} elseif ($category == "otherPlaceBurglary") {
$arr = [
'En arrivant à mon local',
'En arrivant à mon atelier',
'En arrivant à mon box',
'En arrivant à mon cabanon',
'En arrivant à ma dépendance',
'En arrivant à mon garage',
'En arrivant à ma grange',
'En arrivant à mon hangar',
'En arrivant à mon local de stockage',
'En arrivant à ma remise',
'En arrivant à mon appartement',
'En arrivant à ma maison',
'En arrivant chez moi',
'Après avoir été prévenu téléphoniquement',
'Alors que je me trouvais dans mon local',
];
} else {
$arr = [
"Après avoir été prévenu téléphoniquement",
"En rentrant chez moi",
"En rentrant du travail",
"En rentrant de week-end",
"En rentrant de vacances",
"En rentrant de faire des courses",
"En revenant de l’école avec mes enfants",
"En revenant d’une promenade",
"En rentrant d’une activité sportive",
"Alors que je me trouvais chez moi",
];
}
return array_combine($arr, $arr);
}
/**
*
*/
public static function getDiscoverCircumstancesVehicle($category)
{
if ($category == "accessoryVehicleTheft") {
$arr = [
'En sortant d\'un rendez-vous',
'En rentrant chez moi',
'En partant au travail',
'En sortant de mon travail',
'En partant pour un rendez-vous de travail',
'En sortant d’un rendez-vous de travail',
'En sortant de chez des amis',
'En rentrant de soirée',
'En rentrant de week-end',
'En rentrant de vacances ',
'En rentrant de voyage',
'En sortant d’un commerce',
'En revenant de faire des courses ',
'En revenant de l’école avec mon/mes enfant(s)',
'En revenant d’une promenade ',
'En sortant d’une activité sportive ',
];
} else {
$arr = [
'En voulant récupérer mon véhicule',
'En sortant de chez moi',
'En sortant d\'un rendez-vous',
'En rentrant chez moi',
'En partant au travail',
'En sortant de mon travail',
'En partant pour un rendez-vous de travail',
'En sortant d’un rendez-vous de travail',
'En sortant de chez des amis',
'En rentrant de soirée',
'En rentrant de week-end',
'En rentrant de vacances ',
'En rentrant de voyage',
'En sortant d’un commerce',
'En revenant de faire des courses ',
'En revenant de l’école avec mon/mes enfant(s)',
'En revenant d’une promenade ',
'En sortant d’une activité sportive ',
];
}
return array_combine($arr, $arr);
}
/**
*
*/
public static function getDiscoverCircumstancesTheft()
{
$arr = [
'sur le marché',
'sur mon lieu de travail ',
'à l’accueil de mon lieu de travail',
'dans la rue',
'dans un espace public',
'dans un espace privé',
'dans un magasin',
'dans une boutique',
'dans une grande surface',
'dans un cinéma',
'dans un musée',
'lors de la visite d’une exposition',
'dans un salon professionnel ',
'dans un salon grand public',
'lors d’un spectacle',
'lors d’un concert',
'lors d’un match',
'dans un stade ',
'dans un restaurant',
'sur la terrasse d’un commerce',
'sur la terrasse d’un restaurant',
'sur la terrasse d’un bar',
'sur le comptoir d’un bar',
'dans une enceinte sportive',
'dans mon commerce',
'dans l’entreprise où je travaille',
'dans les transports en commun',
'dans un RER',
'dans un TER',
'dans le métro',
'dans une rame de métro',
'dans un bus urbain',
'dans un bus grande ligne',
'dans un tramway',
'dans une gare',
'dans un aéroport',
'dans un train de banlieue',
'dans un train grande ligne',
'dans le TGV',
'dans un vestiaire sportif',
'dans un vestiaire de l’entreprise où je travaille',
'devant l’école',
'devant le collège',
'devant le lycée ',
];
return array_combine($arr, $arr);
}
public static function getBreakingDegradationsFounds($category = null)
{
if ($category == 'vehicleDegradation') {
$arr = [
'Antenne de toit arrachée',
'Coté droit de la carrosserie rayé sur toute la longueur',
'Coté gauche de la carrosserie rayé sur toute la longueur',
'Eléments de carénage cassés',
'Eléments de carénage rayés',
'Eléments de carrosserie dégradés',
'Eléments de carrosserie rayés ',
'Feu arrière droit cassé',
'Feu arrière gauche cassé',
'Parebrise cassé',
'Parechoc arrière cassé',
'Parechoc arrière enfoncé',
'Parechoc arrière rayé',
'Parechoc avant cassé',
'Parechoc avant enfoncé',
'Parechoc avant rayé',
'Phare avant droit cassé',
'Phare avant gauche cassé',
'Pneu(s) crevé(s)',
'Rétro viseur droit cassé',
'Rétro viseur gauche cassé',
'Selle dégradée',
'Serrure avant droite forcée',
'Serrure avant gauche forcée',
'Serrure de coffre forcée',
'Sièges dégradés',
'Système d’alarme détruit ',
'Véhicule entièrement rayé',
'Vitre de custode arrière droite brisée',
'Vitre de custode arrière gauche brisée',
'Vitre de custode avant droite brisée',
'Vitre de custode avant gauche brisée',
'Vitre de portière arrière droite brisée',
'Vitre de portière arrière gauche brisée',
'Vitre de portière avant droite brisée',
'Vitre de portière avant gauche brisée',
'Vitre du hayon arrière brisée',
];
} elseif ($category == 'accessoryVehicleTheft') {
$arr = [
'Serrure avant gauche forcée',
'Serrure avant droite forcée',
'Serrure de coffre forcée',
'Vitre de portière avant gauche brisée',
'Vitre de portière avant droite brisée',
'Vitre de portière arrière gauche brisée',
'Vitre de portière arrière droite brisée',
'Vitre de custode avant gauche brisée',
'Vitre de custode avant droite brisée',
'Vitre de custode arrière gauche brisée',
'Vitre de custode arrière droite brisée',
'Utilisation d’un dispositif de crochetage des portes',
'Parebrise cassé',
'Vitre du hayon arrière brisée',
'Véhicule entièrement rayé',
'Eléments de carrosserie rayés ',
'Eléments de carrosserie dégradés',
'Eléments de carénage rayés',
'Eléments de carénage cassés',
'Rétro viseur gauche cassé',
'Rétro viseur droit cassé',
'Système d’alarme détruit ',
'Sièges dégradés',
'Selle dégradée',
];
} elseif ($category == 'vehicleTheft' || $category == 'insideVehicleTheft') {
$arr = [
'Eléments de carénage cassés',
'Eléments de carénage rayés',
'Eléments de carrosserie dégradés',
'Eléments de carrosserie rayés ',
'Sacoches forcées',
'Serrure avant droite forcée',
'Serrure avant gauche forcée',
'Serrure de coffre forcée',
'Serrure de selle forcée',
'Serrure de top case forcée',
'Système d’alarme détruit ',
'Top case forcé',
'Utilisation d’un dispositif de crochetage des portes',
'Vitre de custode arrière droite brisée',
'Vitre de custode arrière gauche brisée',
'Vitre de custode avant droite brisée',
'Vitre de custode avant gauche brisée',
'Vitre de portière arrière droite brisée',
'Vitre de portière arrière gauche brisée',
'Vitre de portière avant droite brisée',
'Vitre de portière avant gauche brisée',
];
} elseif ($category == 'principalResidenceBurglary') {
$arr = [
'Barreaux sciés ',
'Cadenas détruit',
'Clôture abimée portant des traces d’escalade',
'Clôture pariellement détruite',
'Escalade de la clôture ',
'Escalade de la façade ',
'Escalade du balcon',
'Fenêtre forcée',
'Grillage de clôture découpé',
'Portail forcé',
'Porte d’entrée principale forcée',
'Porte d’entrée secondaire forcée',
'Porte de box forcée',
'Porte de garage forcée',
'Porte fenêtre forcée ',
'Portillon forcé',
'Serrure de porte d’entrée principale forcée ou crochetée',
'Serrure de porte d’entrée secondaire forcée ou crochetée',
'Serrure de porte de box forcée ou crochetée',
'Serrure de porte de garage forcée ou crochetée',
'Serrure de porte fenêtre forcée ou crochetée',
'Serrure du portail forcée ou crochetée',
'Serrure du portillon forcée ou crochetée',
'Vitre de fenêtre brisée',
'Vitre de porte brisée',
'Vitre de porte fenêtre brisée',
'Volets forcés',
'Volets roulants forcés ',
];
} elseif ($category == 'secondResidenceBurglary') {
$arr = [
'Barreaux sciés ',
'Cadenas détruit',
'Clôture abimée portant des traces d’escalade',
'Clôture pariellement détruite',
'Escalade de la clôture ',
'Escalade de la façade ',
'Escalade du balcon',
'Fenêtre forcée',
'Grillage de clôture découpé',
'Portail forcé',
'Porte d’entrée principale forcée',
'Porte d’entrée secondaire forcée',
'Porte de box forcée',
'Porte de garage forcée',
'Porte fenêtre forcée ',
'Portillon forcé',
'Serrure de porte d’entrée principale forcée ou crochetée',
'Serrure de porte d’entrée secondaire forcée ou crochetée',
'Serrure de porte de box forcée ou crochetée',
'Serrure de porte de garage forcée ou crochetée',
'Serrure de porte fenêtre forcée ou crochetée',
'Serrure du portail forcée ou crochetée',
'Serrure du portillon forcée ou crochetée',
'Vitre de fenêtre brisée',
'Vitre de porte brisée',
'Vitre de porte fenêtre brisée',
'Volets forcés',
'Volets roulants forcés',
];
} elseif ($category == 'otherPlaceBurglary') {
$arr = [
'Barreaux sciés ',
'Cadenas détruit',
'Clôture abimée portant des traces d’escalade',
'Clôture pariellement détruite',
'Escalade de la clôture ',
'Escalade de la façade ',
'Escalade du balcon',
'Fenêtre forcée',
'Grillage de clôture découpé',
'Portail forcé',
'Porte d’entrée principale forcée',
'Porte d’entrée secondaire forcée',
'Porte de box forcée',
'Porte de garage forcée',
'Porte fenêtre forcée ',
'Portillon forcé',
'Serrure de porte d’entrée principale forcée ou crochetée',
'Serrure de porte d’entrée secondaire forcée ou crochetée',
'Serrure de porte de box forcée ou crochetée',
'Serrure de porte de garage forcée ou crochetée',
'Serrure de porte fenêtre forcée ou crochetée',
'Serrure du portail forcée ou crochetée',
'Serrure du portillon forcée ou crochetée',
'Vitre de fenêtre brisée',
'Vitre de porte fenêtre brisée',
'Volets forcés',
'Volets roulants forcés',
];
} else {
$arr = [
"Portail forcé",
"Portillon forcé",
"Cadenas détruit",
"Serrure du portail forcée ou crochetée",
"Serrure du portillon forcée ou crochetée",
"Clôture abimée ou portant des traces d’escalade",
"Grillage de clôture découpé",
"Volets forcés",
"Fenêtre forcée",
"Vitre de fenêtre brisée",
"Porte de garage forcée",
"Porte de box forcée",
"Serrure de porte de garage forcée ou crochetée",
"Serrure de porte de box forcée ou crochetée",
"Porte d’entrée principale forcée",
"Serrure de porte d’entrée principale forcée ou crochetée",
"Porte d’entrée secondaire forcée",
"Serrure de porte d’entrée secondaire forcée ou crochetée",
"Porte fenêtre forcée",
"Serrure de porte fenêtre forcée ou crochetée",
"Vitre de porte fenêtre brisée",
"Escalade de la clôture",
"Escalade de la façade",
"Escalade du balcon",
];
}
return array_combine($arr, $arr);
}
public function getFactsAttachmentMode(): ?SelectValues
{
return $this->factsAttachmentMode;
}
public function setFactsAttachmentMode(?SelectValues $factsAttachmentMode): static
{
$this->factsAttachmentMode = $factsAttachmentMode;
return $this;
}
public function getOtherStolenItems(): ?string
{
return $this->otherStolenItems;
}
public function setOtherStolenItems(?string $otherStolenItems): static
{
$this->otherStolenItems = $otherStolenItems;
return $this;
}
public function isAuthorManageToEnter(): ?bool
{
return $this->authorManageToEnter;
}
public function setAuthorManageToEnter(?bool $authorManageToEnter): static
{
$this->authorManageToEnter = $authorManageToEnter;
return $this;
}
public function isIsStolenFound(): ?bool
{
return $this->isStolenFound;
}
public function setIsStolenFound(?bool $isStolenFound): static
{
$this->isStolenFound = $isStolenFound;
return $this;
}
public function getStolenPhone(): ?Item
{
return $this->stolenPhone;
}
public function setStolenPhone(?Item $stolenPhone): static
{
$this->stolenPhone = $stolenPhone;
return $this;
}
public function getPaymentIntentId(): ?string
{
return $this->paymentIntentId;
}
public function setPaymentIntentId(?string $paymentIntentId): static
{
$this->paymentIntentId = $paymentIntentId;
return $this;
}
public function hasStatus(int $status): bool
{
if (!self::_isAcceptedStatus($status)) {
throw new \RuntimeException("Unknown status: " . $status);
}
return $this->status & $status;
}
public function addStatus(int $status): static
{
if (!self::_isAcceptedStatus($status)) {
throw new \RuntimeException("Unknown status: " . $status);
}
$this->status |= $status;
return $this;
}
public function removeStatus(int $status): static
{
if (!self::_isAcceptedStatus($status)) {
throw new \RuntimeException("Unknown status: " . $status);
}
$this->status &= ~$status;
return $this;
}
protected static function _isAcceptedStatus(int $status): bool
{
$acceptedValues = [
self::STATUS_PAYMENT_PROCESSING,
self::STATUS_PAYMENT_ACCEPTED,
self::STATUS_DOCUMENT_CHECKED,
self::STATUS_PAID,
self::STATUS_SIGN_PENDING,
self::STATUS_SIGNED,
self::STATUS_CLOSED
];
return in_array($status, $acceptedValues);
}
public function getPaymentIntentStatus(): ?string
{
return $this->paymentIntentStatus;
}
public function setPaymentIntentStatus(?string $paymentIntentStatus): self
{
$this->paymentIntentStatus = $paymentIntentStatus;
return $this;
}
public function isHasDigitalSignature(): ?bool
{
return $this->hasDigitalSignature;
}
public function setHasDigitalSignature(?bool $hasDigitalSignature): static
{
$this->hasDigitalSignature = $hasDigitalSignature;
return $this;
}
public function hasNonSavedItem(Item $item)
{
return str_contains(html_entity_decode($this->getNonSavedItem()), trim($item->getName() . ' ' . $item->getBrand() . ' ' . $item->getSerialNumber()));
}
public function getSignatureRequestId(): ?string
{
return $this->signatureRequestId;
}
public function setSignatureRequestId(?string $signatureRequestId): static
{
$this->signatureRequestId = $signatureRequestId;
return $this;
}
public function getStep(): ?int
{
return $this->step;
}
public function setStep(?int $step, bool $force = false): static
{
if ($step > $this->step || $force) {
$this->step = $step;
}
return $this;
}
public function getOfferName(): ?string
{
return $this->offerName;
}
public function setOfferName(?string $offerName): static
{
$this->offerName = $offerName;
return $this;
}
public function isClosed(): bool
{
return $this->hasStatus(self::STATUS_CLOSED);
}
}