<?php
namespace App\Entity;
use App\Validator\Constraints as AcmeAssert;
use App\Validator\ItemImeiNumber;
use App\Validator\ItemSerialNumber;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\Validator\Constraints as Assert;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
* @Vich\Uploadable
*/
#[ORM\Entity(repositoryClass: "App\Repository\ItemRepository")]
#[ORM\Table(name: 'item')]
class Item implements UserObjectInterface
{
public const OTHER = 'AUTRE';
#[ORM\OneToMany(mappedBy: "stolenBike", targetEntity: ComplaintX::class, cascade: ["remove"])]
private Collection|array $stolenBike;
#[ORM\ManyToMany(targetEntity: LossReport::class, mappedBy: "items")]
private Collection|array $lossReports;
#[ORM\OneToMany(mappedBy: "item", targetEntity: Insurance::class, cascade: ["remove"])]
private Collection|array $insurances;
#[ORM\ManyToMany(targetEntity: ItemsListComplaint::class, mappedBy: "items")]
private Collection|array $itemsListComplaints;
#[ORM\Column(name: "complaintAt", type: "datetime", nullable: true)]
private ?DateTime $complaintAt;
#[ORM\ManyToMany(targetEntity: ComplaintX::class, mappedBy: "items")]
private Collection|array $complaintXs;
#[ORM\Column(type: "boolean")]
private bool $isTransferred = false;
#[ORM\ManyToMany(targetEntity: DisasterDeclaration::class, mappedBy: "destroyedItems")]
private Collection|array $disasterDeclarations;
#[ORM\ManyToMany(targetEntity: Steal::class, mappedBy: "items")]
private Collection|array $steals;
#[ORM\ManyToMany(targetEntity: ComplaintLetter::class, mappedBy: "items")]
private Collection|array $complaintLetters;
#[ORM\OneToOne(mappedBy: "newItem", targetEntity: GoodAssignement::class)]
private GoodAssignement $goodAssignement;
#[ORM\OneToMany(mappedBy: "item", targetEntity: GoodAssignement::class, cascade: ["remove"])]
private Collection|array $goodAssignements;
#[ORM\Column(name: "createdAt", type: "datetime")]
private DateTime $createdAt;
/**
* @AcmeAssert\ItemPhoto
*/
#[ORM\OneToMany(targetEntity: ItemPhoto::class, mappedBy: "item", cascade: ["persist", "remove"])]
private Collection|array $itemPhotos;
#[ORM\Column(name: "id", type: "integer")]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: "AUTO")]
private ?int $id = null;
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: "items")]
#[ORM\JoinColumn(nullable: false)]
private ?User $user = null;
#[Assert\Choice(callback: "getStatuts", multiple: false)]
#[ORM\Column(name: "statut", type: "string", length: 255, nullable: true)]
private ?string $statut = "Ok";
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $name = null;
#[ORM\Column(name: "type", type: "string", length: 255, nullable: true)]
private ?string $type;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $brand = null;
#[ORM\Column(name: "modelNumber", type: "string", length: 255, nullable: true)]
private ?string $modelNumber;
#[ORM\Column(name: "serialNumber", type: "string", length: 255, nullable: true)]
#[ItemSerialNumber()]
#[Assert\Type(type: "alnum", message: "Le numéro de série doit être de type alphanumérique.")]
private ?string $serialNumber;
#[Assert\NotBlank(message: 'Ce champ est obligatoire')]
#[Assert\Choice(callback: "getCategories", multiple: false)]
#[ORM\Column(name: "category", type: "string", length: 255, nullable: true)]
private ?string $category = null;
#[ORM\Column(name: "estimateValue", type: "decimal", precision: 10, scale: 2, nullable: true)]
private ?float $estimateValue;
#[ORM\Column(name: "comment", type: "text", nullable: true)]
private ?string $comment;
#[ORM\Column(name: "securitySticker", type: "string", length: 255, nullable: true)]
private ?string $securitySticker;
#[ORM\Column(name: "imeiNumber", type: "string", length: 255, nullable: true)]
#[ItemImeiNumber()]
private ?string $imeiNumber = '';
/**
* @Vich\UploadableField(mapping= "itemBubbleCode", fileNameProperty= "itemBubbleCodeFileName", size= "itemBubbleCodeFileSize")
*/
private ?File $itemBubbleCodeFile = null;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $itemBubbleCodeFileName;
#[ORM\Column(type: "integer", nullable: true)]
private ?int $itemBubbleCodeFileSize;
#[ORM\Column(type: "datetime", nullable: true)]
private ?DateTime $itemBubbleCodeFileUpdatedAt;
/**
* @Vich\UploadableField(mapping= "itemPhoto", fileNameProperty= "itemPhotoFileName", size= "itemPhotoFileSize")
*/
private ?File $itemPhotoFile = null;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $itemPhotoFileName = null;
#[ORM\Column(type: "integer", nullable: true)]
private ?int $itemPhotoFileSize;
#[ORM\Column(type: "datetime", nullable: true)]
private ?DateTime $itemPhotoFileUpdatedAt;
/**
* @Vich\UploadableField(mapping= "itemInvoice", fileNameProperty= "itemInvoiceFileName", size= "itemInvoiceFileSize")
*/
private ?File $itemInvoiceFile = null;
#[ORM\Column(type: "string", length: 255, nullable: true)]
private ?string $itemInvoiceFileName = null;
#[ORM\Column(type: "integer", nullable: true)]
private ?int $itemInvoiceFileSize;
#[ORM\Column(type: "datetime", nullable: true)]
private ?DateTime $itemInvoiceFileUpdatedAt;
#[ORM\Column(type: "boolean")]
private bool $isDeleted = false;
#[ORM\ManyToOne]
private ?SelectValues $mainColor = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $antiTheftMarking = null;
#[ORM\ManyToOne]
private ?SelectValues $antiTheftMarkingType = null;
public function __construct()
{
$this->createdAt = new DateTime();
$this->itemPhotos = new ArrayCollection();
}
public function __toString()
{
return strval($this->id);
}
public static function getStatuts()
{
$arr = [
"Ok",
"Perdu",
"Volé",
"Détruit",
"Vendu",
"Donné",
];
return array_combine($arr, $arr);
}
public static function getNames($category = null, string $withOther = null)
{
$arr = match ($category) {
'telephonie' => [
'SMARTPHONE',
'TÉLÉPHONE FIXE',
'TÉLÉPHONE GSM',
'TÉLÉPHONE MOBILE'
],
'informatique' => [
'DISQUE DUR EXTERNE',
'ECRAN',
'IMPRIMANTE JET D\'ENCRE',
'IMPRIMANTE LASER',
'ORDINATEUR / TABLETTE 2 EN 1',
'ORDINATEUR DE BUREAU',
'ORDINATEUR PORTABLE',
'PHOTOCOPIEUR',
'SCANNER',
'TABLETTE NUMERIQUE',
'ULTRABOOK',
'VIDEO PROJECTEUR'
],
'tv' => [
'BOITIER MULTIMEDIA',
'BOX INTERNET',
'DECODEUR TV',
'DECODEUR WIFI',
'HOME CINEMA',
'LECTEUR BLU-RAY',
'LECTEUR DVD',
'LECTEUR VHS',
'TELEVISEUR',
'VIDEO PROJECTEUR'
],
'son' => [
'AMPLIFICATEUR HIFI',
'BARRE DE SON',
'CAISSON DE BASSE',
'CASQUE AUDIO',
'CHAINE HIFI',
'ENCEINTE CONNECTEE',
'ENCEINTE HIFI',
'ENCEINTE NOMADE',
'HOME CINEMA',
'LECTEUR CD PORTABLE',
'LECTEUR MP3',
'PLATINE CD',
'PLATINE VINYLE',
'SONO DJ'
],
'photo' => [
'APPAREIL PHOTO BRIDGE',
'APPAREIL PHOTO COMPACT',
'APPAREIL PHOTO INSTANTANE',
'APPAREIL PHOTO REFLEX',
'CAMERA EMBARQUEE',
'CAMERA SPORT',
'CAMESCOPE',
'OBJECTIF PHOTO'
],
'bijou' => [
'ALLIANCE',
'BAGUE',
'BAGUE AVEC PIERRE(S)',
'BOUCLES D’OREILLES',
'BRACELET FEMME',
'BRACELET HOMME',
'BROCHE',
'CHEVALIERE',
'COLLIER',
'MONTRE FEMME',
'MONTRE HOMME',
'PENDENTIF'
],
'electromenager' => [
'ASPIRATEUR',
'BARBECUE',
'CAFETIERE',
'CAVE A VIN',
'CENTRIFUGEUSE',
'CONGELATEUR',
'CUISINIERE',
'EXTRACTEUR DE JUS',
'FOUR',
'GRILLE-PAIN',
'LAVE-LINGE',
'LAVE-VAISSELLE',
'MICRO-ONDE',
'PLANCHA',
'PLAQUE DE CUISSON',
'REFRIGERATEUR',
'ROBOT CULINAIRE',
'SECHE-LINGE'
],
'mobilier' => [
'ARMOIRE',
'BUFFET BAS',
'BUFFET HAUT',
'BUREAU',
'CANAPE',
'CHAISE',
'COMMODE',
'FAUTEUIL',
'LIT',
'MEUBLE DE JARDIN',
'MEUBLE VITRINE',
'TABLE',
'VAISSELIER ',
'VITRINE'
],
'tableau' => [
'COLLAGE',
'DESSIN',
'GOUACHE',
'GRAVURE',
'HORLOGE',
'HUILE SUR BOIS',
'HUILE SUR TOILE',
'LAMPE',
'LITHOGRAPHIE ',
'LUSTRE',
'PASTEL',
'PENDULE',
'PHOTOGRAPHIE D’ART',
'SANGUINE',
'SCULPTURE',
'STATUE',
'TABLEAU',
'VASE'
],
'jardinage' => [
'ASPIRATEUR',
'CHALUMEAU',
'COMPRESSEUR',
'DEBROUSSAILLEUSE',
'GROUPE ELECTROGENE ',
'MARTEAU PIQUEUR',
'MEULEUSE',
'NETTOYEUR HAUTE PRESSION',
'PERCEUSE',
'PERCEUSE À COLONE ',
'PERFORATEUR',
'PONCEUSE',
'POSTE A SOUDER',
'SCIE CIRCULAIRE',
'SCIE SAUTEUSE',
'SOUFFLEUR',
'TAILLE HAIE',
'TONDEUSE A GAZON',
'TONDEUSE AUTOPORTEE',
'TRONÇONNEUSE',
'TOURET À MEULER',
'VISSEUSE'
],
'musique' => [
'ACCORDEON',
'ALTO',
'BANDONEON',
'BANJO',
'BASSON',
'BATTERIE',
'BATTERIE ELECTRONIQUE',
'BINIOU ',
'BOMBARDE',
'CITHARE',
'CLAIRON',
'CLARINETTE',
'CLAVECIN ',
'CONTREBASSE',
'COR DE CHASSE',
'CORNET A PISTONS',
'FLUTE A BEC',
'FLUTE TRAVERSIERE',
'GROSSE CAISSE',
'GUITARE ACOUSTIQUE',
'GUITARE BASSE',
'GUITARE CLASSIQUE',
'GUITARE ELECTRIQUE',
'GUITARE ELECTRO-ACOUSTIQUE',
'HARPE : ',
'HAUTBOIS',
'MANDOLINE',
'ORGUE',
'ORGUE DE BARBARIE',
'ORGUE ELECTRONIQUE',
'PIANO',
'PIANO A QUEUE',
'PIANO DROIT',
'PIANO ELECTRIQUE',
'SAXOPHONE ',
'SAXOPHONE ALTO',
'SAXOPHONE SOPRANO',
'SAXOPHONE TENOR',
'SYNTHETISEUR',
'TROMBONE',
'TROMPETTE',
'TUBA',
'VIELE',
'VIELLE A ROUE',
'VIOLON',
'VIOLONCELLE',
'XYLOPHONE'
],
'chasse' => [
'BAÏONNETTE',
'CARABINE DE CHASSE',
'CARABINE DE COLLECTION',
'CARABINE DE TIR SPORTIF',
'COUTEAU',
'EPEE',
'FLEURET',
'FUSIL DE CHASSE',
'FUSIL DE COLLECTION',
'LANCE',
'PISTOLET DE COLLECTION',
'PISTOLET DE TIR SPORTIF',
'REVOLVER DE COLLECTION',
'REVOLVER DE TIR SPORTIF',
'SABRE'
],
'jouet' => [
'BABYFOOT',
'BILLARD',
'CONSOLE DE SALON',
'CONSOLE PORTABLE',
'FLIPPER ',
'JEUX DE SOCIETE',
'JOUET ANCIEN'
],
'sport' => [
'JET SKI',
'KARTING',
'MOTO NON HOMOLOGUEE ROUTE',
'OVERBOARD',
'QUAD NON HOMOLOGUE ROUTE',
'ROUE ELECTRIQUE',
'SCOOTER DES NEIGES',
'SCOOTER NAUTIQUE',
'SKI',
'SNOWBOARD',
'TROTTINETTE ',
'TROTTINETTE ELECTRIQUE'
],
'hitech' => [
'BRACELET CONNECTE',
'CASQUE VR',
'DRONE',
'ENCEINTE CONNECTEE',
'MONTRE CONNECTEE'
],
'velo' => [
'VÉLO D’APPARTEMENT',
'VÉLO D’ENFANT',
'VÉLO DE COMPETITION',
'VÉLO DE COURSE',
'VÉLO DE LOISIR',
'VÉLO DE ROUTE',
'VÉLO DE ROUTE ELECTRIQUE',
'VÉLO DE VILLE',
'VÉLO DE VILLE ELECTRIQUE',
'VÉLO ELECTRIQUE',
'VÉLO TANDEM',
'VÉLO TANDEM ELECTRIQUE',
'VTT',
'VTT ELECTRIQUE'
],
default => [],
};
if ($withOther) {
$arr = array_merge($arr, [
$withOther,
]);
}
asort($arr);
if (null !== $category && !in_array($category, ['divers', 'collection'])) {
$arr = array_merge($arr, [
self::OTHER,
]);
}
return array_combine($arr, $arr);
}
public static function getBrands($type = null, $withOther = null)
{
$arr = [];
if ($type == "null") {
$arr['Veuillez choisir un type'] = "0";
} else {
switch ($type) {
case 'telephonie':
$arr = [
'ACER',
'ALCATEL',
'APPLE',
'ARCHOS',
'ASUS',
'BENQ',
'BLACKBERRY',
'BLACKVIEW',
'BQ',
'CONDOR',
'CROSSCALL',
'DORO',
'ECHO',
'EMPORIA',
'GOOGLE',
'HISENSE',
'HONOR',
'HTC',
'HUAWEI',
'KAZAM',
'KODAK',
'LEAGOO',
'LENOVO',
'LG',
'MEDION',
'MEIZU',
'MOTOROLA',
'NEFFOS',
'NOKIA',
'ONEPLUS',
'OPPO',
'ORANGE',
'OUKITEL',
'POCOPHONE',
'POLAROID',
'RAZER',
'RED',
'SAMSUNG',
'SONY',
'SONY ,ERICSSON',
'UMIDIGI',
'VERNEE',
'WIKO',
'XIAOMI',
'YEZZ',
'YOTAPHONE',
'ZOPO',
'ZTE',
];
break;
case 'informatique':
$arr = [
'3DSYSTEMS',
'ACER',
'ADAPTEC',
'ALCATEL',
'ALIENWARE',
'AMAZON',
'AOC',
'APPLE',
'ARCHOS',
'ASUS',
'BENQ',
'BQ',
'BROTHER',
'CANON',
'CITIZEN',
'COMPAQ',
'CONRAD',
'CUBIFY',
'DATACARD',
'DATAMAX',
'DELL',
'DELNA',
'DIMENSION PRINTING',
'EALTEC',
'EPSON',
'EVOLIS',
'EXABYTE',
'FARGO',
'FUJIFILM',
'FUJITSU',
'GOOGLE',
'GULLI',
'HAIER',
'HOMIDO',
'HP',
'HTC',
'HUAWEI',
'IBM',
'IIYAMA',
'IMATION',
'IOMEGA SIEMENS',
'JVC',
'KANEMATSU',
'KODAK',
'KONICA',
'KYOCERA',
'LENOVO',
'LEXIBOOK',
'LEXMARK',
'LG',
'LINDY FRANCE ',
'MAGICARD',
'MAKERBOT',
'MAXIBURO',
'MAXTOR',
'MEDION',
'MICROSOFT',
'MIMAKI',
'MINOLTA',
'MITSUBISHI',
'MORPHOS.FR',
'MSI',
'NAELCOM',
'NVIDIA',
'OCE',
'OKI',
'OPTOMA',
'ORDISSIMO',
'OREGON',
'OTC',
'PACKARD BELL',
'PANASONIC',
'PHILIPS',
'POCKETBOOK',
'PRINTRONIX',
'RICOH',
'SAMSUNG',
'SATO',
'SEAGATE',
'SEAGATE TECHNOLOGY',
'SEIKO',
'SELECLINE',
'SOLID SCAPE',
'SOLIDOODLE',
'SONY',
'STRATASYS',
'SUMMA',
'TALLY GENICOM',
'TOSHIBA',
'U PRINT',
'VTECH',
'WD',
'WESTERN DIGITAL',
'XEROX',
'Z CORP',
'ZEBRA',
'INFOCUS ',
'VIEWSONIC ',
'VIVITEK ',
'XGIMI ',
'XIAOMI'
];
break;
case 'tv':
$arr = [
'ACER',
'AMAZON',
'APPLE',
'ASUS',
'AYA',
'BENQ',
'BOUYGUES',
'BOUYGUES TELECOM',
'BQ',
'CORIOLIS',
'DELL',
'EPSON',
'ESSENTIEL B',
'FREE',
'FUNAI',
'GOOGLE',
'GRANDIN',
'GRUNDIG',
'HAIER',
'HISENSE',
'HOMIDO',
'HUAWEI',
'HP',
'HTC',
'INFOCUS',
'JVC',
'LA POSTE MOBILE',
'LAZER',
'LENOVO',
'LG',
'LISTO',
'LOEWE',
'NVIDIA',
'OCULUS',
'OPTOMA',
'ORANGE',
'PANASONIC',
'PHILIPS',
'PROLINE',
'ROKU',
'SABA',
'SAMSUNG',
'SCHNEIDER',
'SFR',
'SHARP',
'SMARTTECK',
'SONY',
'SOSH',
'TCL',
'TELEFUNKEN',
'THOMSON',
'TOSHIBA',
'VIEWSONIC',
'VIVITEK',
'WETEK',
'WINDSOR',
'XGIMI',
'XIAOMI'
];
break;
case 'son':
$arr = [
'AKG',
'ANTHEM',
'ASTELL&KERN',
'AUDEZE',
'AUDIO-TECHNICA',
'B&W',
'BENQ',
'BLUESOUND',
'BOSE',
'BOWERS&WILKINS',
'CABASSE',
'CAMBRIDGE',
'COWON',
'DALI',
'DENON',
'DEVIALET',
'DUAL',
'DUNE HD',
'ELIPSON',
'ELTAX',
'EPSON',
'FIIO',
'FOCAL',
'GRADO',
'HARMAN KARDON',
'HIFIMAN',
'HIGHLAND AUDIO',
'JAMO',
'JBL',
'JEAN-MARIE REYNAUD',
'JVC',
'KEF',
'KLIPSCH',
'LG',
'LOEWE',
'LUMENE',
'MARANTZ',
'MARSHALL',
'MCINTOSH',
'MEZE',
'MONITOR AUDIO',
'NAIM',
'NETGEAR',
'NORSTONE',
'ONKYO',
'OPPO',
'OPTOMA',
'ORTOFON',
'PANASONIC',
'PHILIPS',
'PHILIPS HUE',
'PIONEER',
'PIONEER DJ',
'PRO-JECT',
'PURE',
'REGA',
'REL',
'SAMSUNG',
'SENNHEISER',
'SHURE',
'SONOS',
'SONY',
'SVS',
'TANGENT',
'THORENS',
'VIVITEK',
'VOGEL S',
'YAMAHA',
'ZAPPITI'
];
break;
case 'photo':
$arr = [
'BLACKMAGIC DESIGN',
'BRINNO',
'CAMLINK',
'CANON',
'DJI',
'FUJIFILM',
'GARMIN',
'GOPRO',
'HARMAN',
'HASSELBLAD',
'IMPOSSIBLE PROJECT',
'INSTA360',
'JVC',
'KENWOOD',
'KODAK POLAROID',
'LEICA',
'MEVO',
'NIKKEI',
'NIKON',
'OLYMPUS',
'PANASONIC',
'PENTAX',
'POLAROID',
'RICOH',
'ROLLEI',
'SEALIFE',
'SIGMA',
'SONY',
'WEEVIEW',
'WONDLAN',
'YI',
'YUNEEC',
'ZOOM'
];
break;
case 'bijou':
$arr = [
'ALPINA',
'ADIDAS',
'ALL BLACKS',
'AM:PM',
'AMALYS',
'ANONIMO',
'ARMANI EXCHANGE',
'AUDEMARS PIGUET',
'AVI-8',
'BALL',
'BAUME ET MERCIER',
'BELL & ROSS',
'BERING',
'BLANCPAIN',
'BOSS ORANGE',
'BOUCHERON',
'BOVET',
'BRAUN',
'BREGUET',
'BREITLING',
'BREMONT',
'BRM',
'BULGARI',
'BULOVA',
'CALVIN KLEIN',
'CALYPSO',
'CARL F. BUCHERER',
'CARTIER',
'CASIO',
'CERRUTI 1881',
'CERTUS',
'CHANEL',
'CHARLIE WATCH',
'CHAUMET',
'CHOPARD',
'CHRISTIAN LACROIX',
'CHRISTOPHE CLARET',
'CITIZEN',
'CLUSE',
'CONCORD',
'CORUM',
'CUERVO Y SOBRINOS',
'DANIEL WELLINGTON',
'DE BETHUNE',
'DIESEL',
'DIOR',
'DKNY',
'DWYT',
'EBEL',
'EBERHARD & CO',
'ELIXA',
'EMPORIO ARMANI',
'ETERNA',
'F.P. JOURNE',
'FESTINA',
'FLIK FLAK',
'FORTIS',
'FOSSIL',
'FRANCK MULLER',
'FREDERIQUE CONSTANT',
'FREEGUN',
'GARMIN',
'GC',
'GIRARD-PERREGAUX',
'GLASHÜTTE ORIGINAL',
'GO - GIRL ONLY',
'GRAHAM LONDON',
'GREUBEL-FORSEY',
'G-SHOCK',
'GUCCI',
'GUESS',
'HAMILTON',
'HANHART',
'HARRY WINSTON',
'HAUTLENCE',
'HERMES',
'HUBLOT',
'HUGO',
'HUGO BOSS',
'HYT',
'ICE-WATCH',
'IWC',
'JAEGER LECOULTRE',
'JAQUET DROZ',
'JEAN-PAUL GAULTIER',
'JEANRICHARD',
'KAPTEN & SON',
'KENNETH COLE',
'KNUT GADD',
'KOMONO',
'LACOSTE',
'LANGE & SÖHNE',
'LIP',
'LONGINES',
'LOTUS',
'LOUIS ERARD',
'LOUIS MOINET',
'LOUIS VUITTON',
'LULU CASTAGNETTE',
'MASERATI',
'MATWATCHES',
'MAURICE LACROIX',
'MB & F',
'MEISTERSINGER',
'MICHAEL KORS',
'MICHEL HERBELIN',
'MONDAINE',
'MONTBLANC',
'MORGAN',
'MOSER',
'MOVADO',
'MVMT',
'NIXON',
'OLIVIA BURTON',
'OMEGA',
'OOZOO',
'ORIS',
'PANERAI',
'PARMIGIANI FLEURIER',
'PATEK PHILIPPE',
'PAUL HEWITT',
'PAUL PICOT',
'PEQUIGNET',
'PERRELET',
'PIAGET',
'PIERRE LANNIER',
'POLICE',
'PORSCHE DESIGN',
'PULSAR',
'RADO',
'RAIDILLON',
'RALF TECH WATCHES',
'RALPH LAUREN',
'RAYMOND WEIL',
'RICHARD MILLE',
'ROGER DUBUIS',
'ROLEX',
'ROMAIN JEROME',
'ROSEFIELD',
'SAINT HONORE',
'SEIKO',
'SEVENFRIDAY',
'SKAGEN',
'SPEAKE-MARIN',
'STORM',
'SUPERDRY',
'SWATCH',
'TAG HEUER',
'TED LAPIDUS',
'TEKDAY',
'THOM OLSON',
'TIMEX',
'TINTIN',
'TISSOT',
'TOM HOPE',
'TOMMY HILFIGER',
'TRIWA',
'TUDOR',
'ULYSSE NARDIN',
'URWERK',
'VACHERON CONSTANTIN',
'VAN CLEEF & ARPELS',
'VICTORINOX',
'VULCAIN',
'WEWOOD',
'WILLIAM L 1985',
'YEMA',
'ZENITH'
];
break;
case 'electromenager':
$arr = [
'AEG',
'AIRLUX',
'AMICA',
'ARIETE',
'ARISTON',
'ARTHUR MARTIN',
'ASKO',
'ASTORIA',
'AYA ',
'BEEPER',
'BEKO',
'BOMPANI',
'BOSCH',
'BRANDT',
'BRAUN',
'CALOR',
'CANDY',
'CONTINENTAL EDISON ',
'DAEWOO',
'DE DIETRICH',
'DOMOCLIP',
'DYSON',
'ECOVACS',
'ELECTROLUX',
'ELICA',
'ESSENTIEL B ',
'E-ZICOM',
'FAR ',
'FAURE',
'H. KOENIG',
'HAIER',
'HARPER',
'HISENSE',
'HOOVER',
'HOTPOINT',
'INDESIT',
'IROBOT',
'JVC',
'KENWOOD',
'KITCHENAID',
'KRUPS',
'LA GERMANIA',
'LADEN',
'LAGRANGE',
'LIEBHERR',
'LISTO ',
'MAGIMIX',
'MIELE',
'MONEUAL',
'MOULINEX',
'NEFF',
'NESTLE',
'NOVA',
'PHILIPS',
'POLTI',
'RIVIERA & BAR',
'RIVIERA ET BAR',
'ROSIERES',
'ROWENTA',
'RUSSEL HOBBS',
'SABA ',
'SAUTER',
'SCHAUB-LORENZ',
'SCHOLTES',
'SEB',
'SEVERIN',
'SIEMENS',
'SMEG',
'STOVES',
'TEFAL',
'TERRAILLON',
'TRIOMPH',
'TRISTAR',
'VALBERG ',
'VAX',
'VEDETTE',
'VORWERK',
'WEBER',
'WHIRLPOOL',
'WIKO',
'ZANUSSI'
];
break;
case 'mobilier':
$arr = [
'3SUISSES',
'4 PIEDS',
'ALINEA',
'AMAZON',
'AUCHAN',
'BO CONCEPT',
'BRICO DEPOT',
'BUT',
'CARREFOUR',
'CASSINA',
'CDISCOUNT',
'CONFORAMA',
'DARTY',
'DE LAMAISON',
'FENDI CASA',
'FLY',
'GAUTIER',
'HABITAT',
'IKEA',
'JARDILAND',
'KARTELL',
'LA REDOUTE',
'LE BON COIN',
'LECLERC',
'LEROY MERLIN',
'LIDL',
'LIGNE ROSET',
'MADE',
'MAISONS DU MONDE',
'MUJI',
'POLTRON ET SOFA',
'POLTRONA FRAU',
'ROCHES BOBOIS',
'SUPER U, HYPER U',
'TOUSALON'
];
break;
case 'divers':
case 'collection':
case 'tableau':
$arr = [];
break;
case 'jardinage':
$arr = [
'AEG',
'BLACK&DECKER',
'BOSCH',
'DEWALT',
'DREMEL',
'ERLO',
'FACOM',
'FESTOOL',
'FISCHER',
'FISKARS',
'FLYMO',
'GARDENA',
'GRIZZLY',
'HAEMMERLIN',
'HILTI',
'HITACHI',
'HUSQVARNA',
'HYMER',
'KARCHER',
'KITY',
'LEATHERMAN',
'MAKITA',
'MC CULLOCH',
'MECAFER',
'METABO',
'NILFISK',
'PARKSIDE',
'POWERFIX',
'RENOVATOR',
'RYOBI',
'SAM',
'SILVERLINE',
'SKIL',
'STANLEY',
'STIHL',
'VIRAX',
'WAGNER',
'WIHA',
'WOLFCRAFT'
];
break;
case 'musique':
$arr = [
'BUFFET-CRAMPON',
'CASIO',
'FENDER',
'GIBSON',
'GRETSCH',
'IBANEZ',
'LEBLANC',
'LUDWIG',
'NOBLET',
'PEARL',
'PLEYEL',
'SELMER',
'SONOR',
'STEINWAY',
'YAMAHA',
'YOUNG CHANG'
];
break;
case 'chasse':
$arr = [
'ANSCHÜTZ',
'BENELLI',
'BERETTA',
'BLASER',
'BROWNING',
'CHAPUIS',
'COLT',
'CZ',
'DESERT EAGLE',
'DIANA',
'FN',
'FRANCHI',
'GLOCK',
'HECKLER & KOCH',
'HK',
'MANUFRANCE',
'MIROKU',
'MOSSBERG',
'REMINGTON',
'ROBUST',
'ROHM',
'ROTTWEIL',
'RUGER',
'SAUER',
'SCORPIO',
'SIG SAUER',
'SMITH & WESSON',
'STEYR',
'TANFOGLIO',
'TAURUS',
'TOKAREV',
'VERNEY-CARRON',
'WALTHER',
'WINCHESTER',
'ZASTAVA'
];
break;
case 'jouet':
$arr = [
'ATARI',
'ATGAMES',
'BALLY',
'BONZINI',
'BUFFALO',
'CHEVILLOTTE',
'DEBUCHY',
'DPT',
'EUROBILLARDS',
'FUSION',
'GOTTLIEB',
'LAFUGE',
'LUCI',
'MATTEL',
'MICROSOFT',
'MIDWAY',
'NINTENDO',
'NVIDIA',
'PETIOT',
'RASPBERRY',
'SEGA',
'SNK',
'SONY',
'STELA',
'STERN',
'SULPIE',
'SUPER NES',
'VTECH',
'WILLIAMS'
];
break;
case 'sport':
$arr = [
'ALFAWISE',
'ALPHA ONE',
'ATOMIC',
'BEARCAT',
'BEBK',
'BIKEROAD',
'BLIZZARD',
'BLUEWHEEL',
'COLORWAY',
'DIRT BIKE',
'DYNASTAR',
'E-ROAD',
'ETWOW BOOSTER',
'EXPRIT',
'FISCHER',
'FORMULA K',
'GOTWAY',
'HEAD',
'HUMMER',
'INMOTION',
'IPKARTING',
'K2',
'KAWASAKI',
'KEROX',
'KINGSONG',
'KOSMIC',
'KUGOO',
'LYNX',
'MARKBOARD',
'MINIMOTORS',
'MINIMULA',
'NINEBOT',
'NORDICA',
'NORDICA',
'OK1',
'PANTHERA',
'PIKI',
'PIT BIKE',
'PRAGA',
'RIOT',
'ROSSIGNOL',
'SALOMON',
'SCOTT',
'SEADOO',
'SEGWAY',
'SODIKART',
'STREET MOTION',
'TONYKART',
'URBAN GLIDE RIDE',
'VÖLKL',
'WIIZZEE',
'WINDGOO',
'XIAOMI',
'YAMAHA',
'ZR'
];
break;
case 'hitech':
$arr = [
'ACER',
'AMAZON',
'APPLE',
'ASUS',
'BOSE',
'DELL',
'ESSENTIELB',
'FITBIT',
'GOOGLE',
'HOMIDO',
'HONOR',
'HP',
'HTC',
'HUAWEI',
'JBL',
'LENOVO',
'LG',
'LIBRATONE',
'MARSHALL',
'NINETY7',
'NOKIA',
'OCULUS',
'ONKYO',
'PEBBLE',
'PULSE HR',
'RIVA',
'ROAV',
'SAMSUNG',
'SONOS',
'SONY',
'TOM TOM',
'ULTIMATE EARS',
'WIKO',
'XIAOMI',
'YUZZ IT'
];
break;
case 'velo':
$arr = [
'ALEX SINGER',
'ATALA',
'ATOM',
'BH BIKES',
'BIANCHI',
'BIKE BY ME',
'BMC',
'BTWIN',
'CANNONDALE',
'CANYON',
'CARRARO CICLI',
'CATTIN',
'CERVÉLO',
'CERVÉLO CYCLES',
'CKT',
'COLNAGO',
'COMMENÇAL',
'CONWAY',
'CREME',
'CRUPI BMX RACING',
'CUBE',
'CUBE BIKES',
'CYFAC',
'DANIEL CATTIN',
'DECATHLON',
'DIAMONDBACK',
'DK BICYCLES',
'EARLY RIDER',
'EDDY MERCKX',
'ELECTRA',
'FELT BICYCLES',
'FIXIE INC',
'FKC',
'FOCUS',
'GAZELLE',
'GHOST',
'GIANT',
'GILLES BERTHOUD',
'GITANE',
'GRADE 9',
'GT BICYCLES',
'HAIBIKE',
'I:SY',
'IN BO',
'KALKHOFF',
'KAZAM',
'KESTREL',
'KIDDIMOTO',
'KONA',
'KTM',
'LA TORPILLE',
'LAPIERRE',
'LEVACON',
'LITESPEED BICYCLES',
'LOOK CYCLE',
'MADD GEAR',
'MARIN',
'MARIN BIKES',
'MBK',
'MERCIER',
'MERIDA',
'MERLIN BIKES',
'MONDRAKER',
'NAKAMURA',
'NS BIKES',
'ORBEA',
'ORTLER',
'PEUGEOT CYCLES',
'PIERRE PERRIN',
'PINARELLO CICLI',
'PLANET X BIKES',
'PRINCIPIA BIKES',
'PUKY',
'QBIKES',
'QU-AX',
'RAM',
'RIDLEY BIKES',
'RONDO',
'SALAMANDRE CYCLE',
'SANTA CRUZ',
'S`COOL',
'SCOTT',
'SERGE MANNHEIM',
'SERIOUS',
'SLEX',
'SPECIALIZED BICYCLE',
'STEREO',
'STORCK BICYCLE',
'STRIDER',
'TERN',
'TIME SPORT',
'TREK',
'VAGABONDE CYCLES',
'VERMONT',
'VERMONT JERSEY',
'VICTOIRE CYCLES',
'VOTEC',
'WHEELER',
'WILIER TRIESTINA',
'WINORA',
'WISHBONE'
];
break;
}
}
if ($withOther) {
$arr = array_merge($arr, [
$withOther,
]);
}
$arr = array_combine($arr, $arr);
asort($arr);
return count($arr) > 0 ? array_merge($arr, [
self::OTHER => self::OTHER,
]) : $arr;
}
public static function getCategories()
{
$arr = [
"TELEPHONIE" => "telephonie",
"INFORMATIQUE / TABLETTE" => "informatique",
"TV / MULTIMEDIA" => "tv",
"HIFI / SON" => "son",
"PHOTO / VIDEO" => "photo",
"BIJOU / MONTRE" => "bijou",
"ELECTROMENAGER" => "electromenager",
"MOBILIER" => "mobilier",
"ŒUVRE D’ART / TABLEAU" => "tableau",
"OUTILLAGE / JARDINAGE" => "jardinage",
"INSTRUMENT DE MUSIQUE" => "musique",
"ARME DE COLLECTION / CHASSE / TIR SPORTIF" => "chasse",
"JEUX" => "jouet",
"SPORT / LOISIR" => "sport",
"HITECH / OBJET CONNECTE" => "hitech",
"VÉLO" => "velo",
"COLLECTION" => "collection",
"DIVERS" => "divers"
];
return $arr;
}
/**
* If manually uploading a file (i.e. not using Symfony Form) ensure an instance
* of 'UploadedFile' is injected into this setter to trigger the update. If this
* bundle's configuration parameter 'inject_on_load' is set to 'true' this setter
* must be able to accept an instance of 'File' as the bundle will inject one here
* during Doctrine hydration.
*
* @param File|\Symfony\Component\HttpFoundation\File\UploadedFile $image
*/
public function setItemPhotoFile(File $image = null)
{
$this->itemPhotoFile = $image;
if (null !== $image) {
// It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost
$this->itemPhotoFileUpdatedAt = new \DateTime();
}
}
public function getItemPhotoFile()
{
return $this->itemPhotoFile;
}
/**
* If manually uploading a file (i.e. not using Symfony Form) ensure an instance
* of 'UploadedFile' is injected into this setter to trigger the update. If this
* bundle's configuration parameter 'inject_on_load' is set to 'true' this setter
* must be able to accept an instance of 'File' as the bundle will inject one here
* during Doctrine hydration.
*
* @param File|\Symfony\Component\HttpFoundation\File\UploadedFile $image
*/
public function setItemInvoiceFile(File $image = null)
{
$this->itemInvoiceFile = $image;
if (null !== $image) {
// It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost
$this->itemInvoiceFileUpdatedAt = new \DateTime();
}
}
public function getItemInvoiceFile()
{
return $this->itemInvoiceFile;
}
/**
* If manually uploading a file (i.e. not using Symfony Form) ensure an instance
* of 'UploadedFile' is injected into this setter to trigger the update. If this
* bundle's configuration parameter 'inject_on_load' is set to 'true' this setter
* must be able to accept an instance of 'File' as the bundle will inject one here
* during Doctrine hydration.
*
* @param File|\Symfony\Component\HttpFoundation\File\UploadedFile $image
*/
public function setItemBubbleCodeFile(File $image = null)
{
$this->itemBubbleCodeFile = $image;
if (null !== $image) {
// It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost
$this->itemBubbleCodeFileUpdatedAt = new \DateTime();
}
}
public function getItemBubbleCodeFile()
{
return $this->itemBubbleCodeFile;
}
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set statut
*
* @param string $statut
*
* @return Item
*/
public function setStatut($statut)
{
$this->statut = $statut;
return $this;
}
/**
* Get statut
*
* @return string
*/
public function getStatut()
{
return $this->statut;
}
/**
* Set name
*
* @param string $name
*
* @return Item
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set type
*
* @param string $type
*
* @return Item
*/
public function setType($type)
{
$this->type = $type;
return $this;
}
/**
* Get type
*
* @return string
*/
public function getType()
{
return $this->type;
}
/**
* Set brand
*
* @param string $brand
*
* @return Item
*/
public function setBrand($brand)
{
$this->brand = $brand;
return $this;
}
/**
* Get brand
*
* @return string
*/
public function getBrand()
{
return $this->brand;
}
/**
* Set modelNumber
*
* @param string $modelNumber
*
* @return Item
*/
public function setModelNumber($modelNumber)
{
$this->modelNumber = $modelNumber;
return $this;
}
/**
* Get modelNumber
*
* @return string
*/
public function getModelNumber()
{
return $this->modelNumber;
}
/**
* Set serialNumber
*
* @param string $serialNumber
*
* @return Item
*/
public function setSerialNumber($serialNumber)
{
$this->serialNumber = $serialNumber;
return $this;
}
/**
* Get serialNumber
*
* @return string
*/
public function getSerialNumber()
{
return $this->serialNumber;
}
/**
* Set category
*
* @param string $category
*
* @return Item
*/
public function setCategory($category)
{
$this->category = $category;
return $this;
}
/**
* Get category
*
* @return string
*/
public function getCategory()
{
return $this->category;
}
/**
* Set estimateValue
*
* @param string $estimateValue
*
* @return Item
*/
public function setEstimateValue($estimateValue)
{
$this->estimateValue = $estimateValue;
return $this;
}
/**
* Get estimateValue
*
* @return string
*/
public function getEstimateValue()
{
return $this->estimateValue;
}
/**
* Set comment
*
* @param string $comment
*
* @return Item
*/
public function setComment($comment)
{
$this->comment = $comment;
return $this;
}
/**
* Get comment
*
* @return string
*/
public function getComment()
{
return $this->comment;
}
/**
* Set securitySticker
*
* @param string $securitySticker
*
* @return Item
*/
public function setSecuritySticker($securitySticker)
{
$this->securitySticker = $securitySticker;
return $this;
}
/**
* Get securitySticker
*
* @return string
*/
public function getSecuritySticker()
{
return $this->securitySticker;
}
/**
* Set itemBubbleCodeFileName
*
* @param string $itemBubbleCodeFileName
*
* @return Item
*/
public function setItemBubbleCodeFileName($itemBubbleCodeFileName)
{
$this->itemBubbleCodeFileName = $itemBubbleCodeFileName;
return $this;
}
/**
* Get itemBubbleCodeFileName
*
* @return string
*/
public function getItemBubbleCodeFileName()
{
return $this->itemBubbleCodeFileName;
}
/**
* Set itemBubbleCodeFileSize
*
* @param integer $itemBubbleCodeFileSize
*
* @return Item
*/
public function setItemBubbleCodeFileSize($itemBubbleCodeFileSize)
{
$this->itemBubbleCodeFileSize = $itemBubbleCodeFileSize;
return $this;
}
/**
* Get itemBubbleCodeFileSize
*
* @return integer
*/
public function getItemBubbleCodeFileSize()
{
return $this->itemBubbleCodeFileSize;
}
/**
* Set itemBubbleCodeFileUpdatedAt
*
* @param DateTime $itemBubbleCodeFileUpdatedAt
*
* @return Item
*/
public function setItemBubbleCodeFileUpdatedAt($itemBubbleCodeFileUpdatedAt)
{
$this->itemBubbleCodeFileUpdatedAt = $itemBubbleCodeFileUpdatedAt;
return $this;
}
/**
* Get itemBubbleCodeFileUpdatedAt
*
* @return DateTime
*/
public function getItemBubbleCodeFileUpdatedAt()
{
return $this->itemBubbleCodeFileUpdatedAt;
}
/**
* Set itemPhotoFileName
*
* @param string $itemPhotoFileName
*
* @return Item
*/
public function setItemPhotoFileName($itemPhotoFileName)
{
$this->itemPhotoFileName = $itemPhotoFileName;
return $this;
}
/**
* Get itemPhotoFileName
*
* @return string
*/
public function getItemPhotoFileName()
{
return $this->itemPhotoFileName;
}
/**
* Set itemPhotoFileSize
*
* @param integer $itemPhotoFileSize
*
* @return Item
*/
public function setItemPhotoFileSize($itemPhotoFileSize)
{
$this->itemPhotoFileSize = $itemPhotoFileSize;
return $this;
}
/**
* Get itemPhotoFileSize
*
* @return integer
*/
public function getItemPhotoFileSize()
{
return $this->itemPhotoFileSize;
}
/**
* Set itemPhotoFileUpdatedAt
*
* @param DateTime $itemPhotoFileUpdatedAt
*
* @return Item
*/
public function setItemPhotoFileUpdatedAt($itemPhotoFileUpdatedAt)
{
$this->itemPhotoFileUpdatedAt = $itemPhotoFileUpdatedAt;
return $this;
}
/**
* Get itemPhotoFileUpdatedAt
*
* @return DateTime
*/
public function getItemPhotoFileUpdatedAt()
{
return $this->itemPhotoFileUpdatedAt;
}
/**
* Set itemInvoiceFileName
*
* @param string $itemInvoiceFileName
*
* @return Item
*/
public function setItemInvoiceFileName($itemInvoiceFileName)
{
$this->itemInvoiceFileName = $itemInvoiceFileName;
return $this;
}
/**
* Get itemInvoiceFileName
*
* @return string
*/
public function getItemInvoiceFileName()
{
return $this->itemInvoiceFileName;
}
/**
* Set itemInvoiceFileSize
*
* @param integer $itemInvoiceFileSize
*
* @return Item
*/
public function setItemInvoiceFileSize($itemInvoiceFileSize)
{
$this->itemInvoiceFileSize = $itemInvoiceFileSize;
return $this;
}
/**
* Get itemInvoiceFileSize
*
* @return integer
*/
public function getItemInvoiceFileSize()
{
return $this->itemInvoiceFileSize;
}
/**
* Set itemInvoiceFileUpdatedAt
*
* @param DateTime $itemInvoiceFileUpdatedAt
*
* @return Item
*/
public function setItemInvoiceFileUpdatedAt($itemInvoiceFileUpdatedAt)
{
$this->itemInvoiceFileUpdatedAt = $itemInvoiceFileUpdatedAt;
return $this;
}
/**
* Get itemInvoiceFileUpdatedAt
*
* @return DateTime
*/
public function getItemInvoiceFileUpdatedAt()
{
return $this->itemInvoiceFileUpdatedAt;
}
/**
* Set user
*
* @param User $user
*
* @return Item
*/
public function setUser(User $user)
{
$this->user = $user;
return $this;
}
/**
* Get user
*
* @return User|null
*/
public function getUser(): ?User
{
return $this->user;
}
/**
* Set createdAt
*
* @param DateTime $createdAt
*
* @return Item
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt
*
* @return DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Add itemPhoto
*
* @param \App\Entity\ItemPhoto $itemPhoto
*
* @return Item
*/
public function addItemPhoto(\App\Entity\ItemPhoto $itemPhoto)
{
$this->itemPhotos[] = $itemPhoto;
$itemPhoto->setItem($this);
return $this;
}
/**
* Remove itemPhoto
*
* @param \App\Entity\ItemPhoto $itemPhoto
*/
public function removeItemPhoto(\App\Entity\ItemPhoto $itemPhoto)
{
$this->itemPhotos->removeElement($itemPhoto);
}
/**
* Get itemPhotos
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getItemPhotos()
{
return $this->itemPhotos;
}
/**
* Add goodAssignement
*
* @param \App\Entity\GoodAssignement $goodAssignement
*
* @return Item
*/
public function addGoodAssignement(\App\Entity\GoodAssignement $goodAssignement)
{
$this->goodAssignements[] = $goodAssignement;
return $this;
}
/**
* Remove goodAssignement
*
* @param \App\Entity\GoodAssignement $goodAssignement
*/
public function removeGoodAssignement(\App\Entity\GoodAssignement $goodAssignement)
{
$this->goodAssignements->removeElement($goodAssignement);
}
/**
* Get goodAssignements
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getGoodAssignements()
{
return $this->goodAssignements;
}
/**
* Set goodAssignement
*
* @param \App\Entity\GoodAssignement $goodAssignement
*
* @return Item
*/
public function setGoodAssignement(\App\Entity\GoodAssignement $goodAssignement = null)
{
$this->goodAssignement = $goodAssignement;
return $this;
}
/**
* Get goodAssignement
*
* @return \App\Entity\GoodAssignement
*/
public function getGoodAssignement()
{
return $this->goodAssignement;
}
/**
* Add steal
*
* @param \App\Entity\Steal $steal
*
* @return Item
*/
public function addSteal(\App\Entity\Steal $steal)
{
$this->steals[] = $steal;
return $this;
}
/**
* Remove steal
*
* @param \App\Entity\Steal $steal
*/
public function removeSteal(\App\Entity\Steal $steal)
{
$this->steals->removeElement($steal);
}
/**
* Get steals
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getSteals()
{
return $this->steals;
}
/**
* Add complaintLetter
*
* @param \App\Entity\ComplaintLetter $complaintLetter
*
* @return Item
*/
public function addComplaintLetter(\App\Entity\ComplaintLetter $complaintLetter)
{
$this->complaintLetters[] = $complaintLetter;
return $this;
}
/**
* Remove complaintLetter
*
* @param \App\Entity\ComplaintLetter $complaintLetter
*/
public function removeComplaintLetter(\App\Entity\ComplaintLetter $complaintLetter)
{
$this->complaintLetters->removeElement($complaintLetter);
}
/**
* Get complaintLetters
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getComplaintLetters()
{
return $this->complaintLetters;
}
/**
* Set isTransferred
*
* @param boolean $isTransferred
*
* @return Item
*/
public function setIsTransferred($isTransferred)
{
$this->isTransferred = $isTransferred;
return $this;
}
/**
* Get isTransferred
*
* @return boolean
*/
public function getIsTransferred()
{
return $this->isTransferred;
}
/**
* Add disasterDeclaration
*
* @param \App\Entity\DisasterDeclaration $disasterDeclaration
*
* @return Item
*/
public function addDisasterDeclaration(\App\Entity\DisasterDeclaration $disasterDeclaration)
{
$this->disasterDeclarations[] = $disasterDeclaration;
return $this;
}
/**
* Remove disasterDeclaration
*
* @param \App\Entity\DisasterDeclaration $disasterDeclaration
*/
public function removeDisasterDeclaration(\App\Entity\DisasterDeclaration $disasterDeclaration)
{
$this->disasterDeclarations->removeElement($disasterDeclaration);
}
/**
* Get disasterDeclarations
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getDisasterDeclarations()
{
return $this->disasterDeclarations;
}
/**
* Set imeiNumber
*
* @param string $imeiNumber
*
* @return Item
*/
public function setImeiNumber($imeiNumber)
{
$this->imeiNumber = $imeiNumber;
return $this;
}
/**
* Get imeiNumber
*
* @return string
*/
public function getImeiNumber()
{
return $this->imeiNumber;
}
/**
* Add complaintX
*
* @param \App\Entity\ComplaintX $complaintX
*
* @return Item
*/
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 \Doctrine\Common\Collections\Collection
*/
public function getComplaintXs()
{
return $this->complaintXs;
}
/**
* Set isDeleted
*
* @param boolean $isDeleted
*
* @return Item
*/
public function setIsDeleted($isDeleted)
{
$this->isDeleted = $isDeleted;
return $this;
}
/**
* Get isDeleted
*
* @return boolean
*/
public function getIsDeleted()
{
return $this->isDeleted;
}
/**
* Add itemsListComplaint
*
* @param \App\Entity\ItemsListComplaint $itemsListComplaint
*
* @return Item
*/
public function addItemsListComplaint(\App\Entity\ItemsListComplaint $itemsListComplaint)
{
$this->itemsListComplaints[] = $itemsListComplaint;
return $this;
}
/**
* Remove itemsListComplaint
*
* @param \App\Entity\ItemsListComplaint $itemsListComplaint
*/
public function removeItemsListComplaint(\App\Entity\ItemsListComplaint $itemsListComplaint)
{
$this->itemsListComplaints->removeElement($itemsListComplaint);
}
/**
* Get itemsListComplaints
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getItemsListComplaints()
{
return $this->itemsListComplaints;
}
/**
* Add lossReport
*
* @param \App\Entity\LossReport $lossReport
*
* @return Item
*/
public function addLossReport(\App\Entity\LossReport $lossReport)
{
$this->lossReports[] = $lossReport;
return $this;
}
/**
* Remove lossReport
*
* @param \App\Entity\LossReport $lossReport
*/
public function removeLossReport(\App\Entity\LossReport $lossReport)
{
$this->lossReports->removeElement($lossReport);
}
/**
* Get lossReports
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getLossReports()
{
return $this->lossReports;
}
/**
* Add insurance
*
* @param \App\Entity\Insurance $insurance
*
* @return Item
*/
public function addInsurance(\App\Entity\Insurance $insurance)
{
$this->insurances[] = $insurance;
return $this;
}
/**
* Remove insurance
*
* @param \App\Entity\Insurance $insurance
*/
public function removeInsurance(\App\Entity\Insurance $insurance)
{
$this->insurances->removeElement($insurance);
}
/**
* Get insurances
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getInsurances()
{
return $this->insurances;
}
/**
* Set complaintAt.
*
* @param DateTime|null $complaintAt
*
* @return Item
*/
public function setComplaintAt($complaintAt = null)
{
$this->complaintAt = $complaintAt;
return $this;
}
/**
* Get complaintAt.
*
* @return DateTime|null
*/
public function getComplaintAt()
{
return $this->complaintAt;
}
/**
* Set stolenBike.
*
* @param \App\Entity\ComplaintX|null $stolenBike
*
* @return Item
*/
public function setStolenBike(\App\Entity\ComplaintX $stolenBike = null)
{
$this->stolenBike = $stolenBike;
return $this;
}
/**
* Get stolenBike.
*
* @return \App\Entity\ComplaintX|null
*/
public function getStolenBike()
{
return $this->stolenBike;
}
/**
* Add stolenBike.
*
* @param \App\Entity\ComplaintX $stolenBike
*
* @return Item
*/
public function addStolenBike(\App\Entity\ComplaintX $stolenBike)
{
$this->stolenBike[] = $stolenBike;
return $this;
}
/**
* Remove stolenBike.
*
* @param \App\Entity\ComplaintX $stolenBike
*
* @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
*/
public function removeStolenBike(\App\Entity\ComplaintX $stolenBike)
{
return $this->stolenBike->removeElement($stolenBike);
}
public function getActiveInsurance(): ?Insurance
{
$insurance = $this->insurances->filter(fn(Insurance $insurance) => !$insurance->getIsDeleted())->first();
return !$insurance ? null : $insurance;
}
public function hasActiveInsurance(): bool
{
return $this->getActiveInsurance() !== null;
}
public function getMainColor(): ?SelectValues
{
return $this->mainColor;
}
public function setMainColor(?SelectValues $mainColor): static
{
$this->mainColor = $mainColor;
return $this;
}
public function getAntiTheftMarking(): ?string
{
return $this->antiTheftMarking;
}
public function setAntiTheftMarking(?string $antiTheftMarking): static
{
$this->antiTheftMarking = $antiTheftMarking;
return $this;
}
public function getAntiTheftMarkingType(): ?SelectValues
{
return $this->antiTheftMarkingType;
}
public function setAntiTheftMarkingType(?SelectValues $antiTheftMarkingType): static
{
$this->antiTheftMarkingType = $antiTheftMarkingType;
return $this;
}
}