359 lines
10 KiB
PHP
359 lines
10 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Uwil\ArcadiaKiotaOpenApiClient\Models;
|
|
|
|
use DateTime;
|
|
use Microsoft\Kiota\Abstractions\Serialization\AdditionalDataHolder;
|
|
use Microsoft\Kiota\Abstractions\Serialization\Parsable;
|
|
use Microsoft\Kiota\Abstractions\Serialization\ParseNode;
|
|
use Microsoft\Kiota\Abstractions\Serialization\SerializationWriter;
|
|
use Microsoft\Kiota\Abstractions\Types\Date;
|
|
|
|
/**
|
|
* Représentation canonique d'un employé dans le métamodèle Arcadia.
|
|
*/
|
|
class Employee implements AdditionalDataHolder, Parsable
|
|
{
|
|
/**
|
|
* @var array<string, mixed>|null Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
|
|
*/
|
|
private ?array $additionalData = null;
|
|
|
|
/**
|
|
* @var DateTime|null Date d'enregistrement dans le système.
|
|
*/
|
|
private ?DateTime $createdAt = null;
|
|
|
|
/**
|
|
* @var Date|null Date de fin de contrat effective (optionnelle).
|
|
*/
|
|
private ?Date $endDate = null;
|
|
|
|
/**
|
|
* @var string|null Code de l'établissement d'affectation.
|
|
*/
|
|
private ?string $establishment = null;
|
|
|
|
/**
|
|
* @var string|null Prénom de l'employé.
|
|
*/
|
|
private ?string $firstName = null;
|
|
|
|
/**
|
|
* @var string|null Nom de famille de l'employé.
|
|
*/
|
|
private ?string $lastName = null;
|
|
|
|
/**
|
|
* @var string|null Matricule public unique de l'employé (SIRH).
|
|
*/
|
|
private ?string $matricule = null;
|
|
|
|
/**
|
|
* @var Date|null Date de fin de contrat prévue (optionnelle).
|
|
*/
|
|
private ?Date $plannedEndDate = null;
|
|
|
|
/**
|
|
* @var string|null Identifiant du service interne.
|
|
*/
|
|
private ?string $service = null;
|
|
|
|
/**
|
|
* @var string|null Code du site géographique.
|
|
*/
|
|
private ?string $site = null;
|
|
|
|
/**
|
|
* @var Date|null Date de prise de poste (YYYY-MM-DD).
|
|
*/
|
|
private ?Date $startDate = null;
|
|
|
|
/**
|
|
* @var DateTime|null Date de dernière mise à jour.
|
|
*/
|
|
private ?DateTime $updatedAt = null;
|
|
|
|
/**
|
|
* Instantiates a new Employee and sets the default values.
|
|
*/
|
|
public function __construct()
|
|
{
|
|
$this->setAdditionalData([]);
|
|
}
|
|
|
|
/**
|
|
* Creates a new instance of the appropriate class based on discriminator value
|
|
*
|
|
* @param ParseNode $parseNode The parse node to use to read the discriminator value and create the object
|
|
*/
|
|
public static function createFromDiscriminatorValue(ParseNode $parseNode): Employee
|
|
{
|
|
return new Employee();
|
|
}
|
|
|
|
/**
|
|
* Gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
|
|
*
|
|
* @return array<string, mixed>|null
|
|
*/
|
|
public function getAdditionalData(): ?array
|
|
{
|
|
return $this->additionalData;
|
|
}
|
|
|
|
/**
|
|
* Gets the createdAt property value. Date d'enregistrement dans le système.
|
|
*/
|
|
public function getCreatedAt(): ?DateTime
|
|
{
|
|
return $this->createdAt;
|
|
}
|
|
|
|
/**
|
|
* Gets the endDate property value. Date de fin de contrat effective (optionnelle).
|
|
*/
|
|
public function getEndDate(): ?Date
|
|
{
|
|
return $this->endDate;
|
|
}
|
|
|
|
/**
|
|
* Gets the establishment property value. Code de l'établissement d'affectation.
|
|
*/
|
|
public function getEstablishment(): ?string
|
|
{
|
|
return $this->establishment;
|
|
}
|
|
|
|
/**
|
|
* The deserialization information for the current model
|
|
*
|
|
* @return array<string, callable(ParseNode): void>
|
|
*/
|
|
public function getFieldDeserializers(): array
|
|
{
|
|
$o = $this;
|
|
|
|
return [
|
|
'createdAt' => fn (ParseNode $n) => $o->setCreatedAt($n->getDateTimeValue()),
|
|
'endDate' => fn (ParseNode $n) => $o->setEndDate($n->getDateValue()),
|
|
'establishment' => fn (ParseNode $n) => $o->setEstablishment($n->getStringValue()),
|
|
'firstName' => fn (ParseNode $n) => $o->setFirstName($n->getStringValue()),
|
|
'lastName' => fn (ParseNode $n) => $o->setLastName($n->getStringValue()),
|
|
'matricule' => fn (ParseNode $n) => $o->setMatricule($n->getStringValue()),
|
|
'plannedEndDate' => fn (ParseNode $n) => $o->setPlannedEndDate($n->getDateValue()),
|
|
'service' => fn (ParseNode $n) => $o->setService($n->getStringValue()),
|
|
'site' => fn (ParseNode $n) => $o->setSite($n->getStringValue()),
|
|
'startDate' => fn (ParseNode $n) => $o->setStartDate($n->getDateValue()),
|
|
'updatedAt' => fn (ParseNode $n) => $o->setUpdatedAt($n->getDateTimeValue()),
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Gets the firstName property value. Prénom de l'employé.
|
|
*/
|
|
public function getFirstName(): ?string
|
|
{
|
|
return $this->firstName;
|
|
}
|
|
|
|
/**
|
|
* Gets the lastName property value. Nom de famille de l'employé.
|
|
*/
|
|
public function getLastName(): ?string
|
|
{
|
|
return $this->lastName;
|
|
}
|
|
|
|
/**
|
|
* Gets the matricule property value. Matricule public unique de l'employé (SIRH).
|
|
*/
|
|
public function getMatricule(): ?string
|
|
{
|
|
return $this->matricule;
|
|
}
|
|
|
|
/**
|
|
* Gets the plannedEndDate property value. Date de fin de contrat prévue (optionnelle).
|
|
*/
|
|
public function getPlannedEndDate(): ?Date
|
|
{
|
|
return $this->plannedEndDate;
|
|
}
|
|
|
|
/**
|
|
* Gets the service property value. Identifiant du service interne.
|
|
*/
|
|
public function getService(): ?string
|
|
{
|
|
return $this->service;
|
|
}
|
|
|
|
/**
|
|
* Gets the site property value. Code du site géographique.
|
|
*/
|
|
public function getSite(): ?string
|
|
{
|
|
return $this->site;
|
|
}
|
|
|
|
/**
|
|
* Gets the startDate property value. Date de prise de poste (YYYY-MM-DD).
|
|
*/
|
|
public function getStartDate(): ?Date
|
|
{
|
|
return $this->startDate;
|
|
}
|
|
|
|
/**
|
|
* Gets the updatedAt property value. Date de dernière mise à jour.
|
|
*/
|
|
public function getUpdatedAt(): ?DateTime
|
|
{
|
|
return $this->updatedAt;
|
|
}
|
|
|
|
/**
|
|
* Serializes information the current object
|
|
*
|
|
* @param SerializationWriter $writer Serialization writer to use to serialize this model
|
|
*/
|
|
public function serialize(SerializationWriter $writer): void
|
|
{
|
|
$writer->writeDateTimeValue('createdAt', $this->getCreatedAt());
|
|
$writer->writeDateValue('endDate', $this->getEndDate());
|
|
$writer->writeStringValue('establishment', $this->getEstablishment());
|
|
$writer->writeStringValue('firstName', $this->getFirstName());
|
|
$writer->writeStringValue('lastName', $this->getLastName());
|
|
$writer->writeStringValue('matricule', $this->getMatricule());
|
|
$writer->writeDateValue('plannedEndDate', $this->getPlannedEndDate());
|
|
$writer->writeStringValue('service', $this->getService());
|
|
$writer->writeStringValue('site', $this->getSite());
|
|
$writer->writeDateValue('startDate', $this->getStartDate());
|
|
$writer->writeDateTimeValue('updatedAt', $this->getUpdatedAt());
|
|
$writer->writeAdditionalData($this->getAdditionalData());
|
|
}
|
|
|
|
/**
|
|
* Sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
|
|
*
|
|
* @param array<string,mixed> $value Value to set for the AdditionalData property.
|
|
*/
|
|
public function setAdditionalData(?array $value): void
|
|
{
|
|
$this->additionalData = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the createdAt property value. Date d'enregistrement dans le système.
|
|
*
|
|
* @param DateTime|null $value Value to set for the createdAt property.
|
|
*/
|
|
public function setCreatedAt(?DateTime $value): void
|
|
{
|
|
$this->createdAt = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the endDate property value. Date de fin de contrat effective (optionnelle).
|
|
*
|
|
* @param Date|null $value Value to set for the endDate property.
|
|
*/
|
|
public function setEndDate(?Date $value): void
|
|
{
|
|
$this->endDate = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the establishment property value. Code de l'établissement d'affectation.
|
|
*
|
|
* @param string|null $value Value to set for the establishment property.
|
|
*/
|
|
public function setEstablishment(?string $value): void
|
|
{
|
|
$this->establishment = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the firstName property value. Prénom de l'employé.
|
|
*
|
|
* @param string|null $value Value to set for the firstName property.
|
|
*/
|
|
public function setFirstName(?string $value): void
|
|
{
|
|
$this->firstName = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the lastName property value. Nom de famille de l'employé.
|
|
*
|
|
* @param string|null $value Value to set for the lastName property.
|
|
*/
|
|
public function setLastName(?string $value): void
|
|
{
|
|
$this->lastName = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the matricule property value. Matricule public unique de l'employé (SIRH).
|
|
*
|
|
* @param string|null $value Value to set for the matricule property.
|
|
*/
|
|
public function setMatricule(?string $value): void
|
|
{
|
|
$this->matricule = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the plannedEndDate property value. Date de fin de contrat prévue (optionnelle).
|
|
*
|
|
* @param Date|null $value Value to set for the plannedEndDate property.
|
|
*/
|
|
public function setPlannedEndDate(?Date $value): void
|
|
{
|
|
$this->plannedEndDate = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the service property value. Identifiant du service interne.
|
|
*
|
|
* @param string|null $value Value to set for the service property.
|
|
*/
|
|
public function setService(?string $value): void
|
|
{
|
|
$this->service = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the site property value. Code du site géographique.
|
|
*
|
|
* @param string|null $value Value to set for the site property.
|
|
*/
|
|
public function setSite(?string $value): void
|
|
{
|
|
$this->site = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the startDate property value. Date de prise de poste (YYYY-MM-DD).
|
|
*
|
|
* @param Date|null $value Value to set for the startDate property.
|
|
*/
|
|
public function setStartDate(?Date $value): void
|
|
{
|
|
$this->startDate = $value;
|
|
}
|
|
|
|
/**
|
|
* Sets the updatedAt property value. Date de dernière mise à jour.
|
|
*
|
|
* @param DateTime|null $value Value to set for the updatedAt property.
|
|
*/
|
|
public function setUpdatedAt(?DateTime $value): void
|
|
{
|
|
$this->updatedAt = $value;
|
|
}
|
|
}
|