ldc-arcadia-kiota-openapi-c.../client/Models/Employee.php

325 lines
11 KiB
PHP

<?php
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 $additionalData 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 $createdAt Date d'enregistrement dans le système.
*/
private ?DateTime $createdAt = null;
/**
* @var Date|null $endDate Date de fin de contrat effective (optionnelle).
*/
private ?Date $endDate = null;
/**
* @var string|null $establishment Code de l'établissement d'affectation.
*/
private ?string $establishment = null;
/**
* @var string|null $firstName Prénom de l'employé.
*/
private ?string $firstName = null;
/**
* @var string|null $lastName Nom de famille de l'employé.
*/
private ?string $lastName = null;
/**
* @var string|null $matricule Matricule public unique de l'employé (SIRH).
*/
private ?string $matricule = null;
/**
* @var Date|null $plannedEndDate Date de fin de contrat prévue (optionnelle).
*/
private ?Date $plannedEndDate = null;
/**
* @var string|null $service Identifiant du service interne.
*/
private ?string $service = null;
/**
* @var string|null $site Code du site géographique.
*/
private ?string $site = null;
/**
* @var Date|null $startDate Date de prise de poste (YYYY-MM-DD).
*/
private ?Date $startDate = null;
/**
* @var DateTime|null $updatedAt 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
* @return Employee
*/
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.
* @return DateTime|null
*/
public function getCreatedAt(): ?DateTime {
return $this->createdAt;
}
/**
* Gets the endDate property value. Date de fin de contrat effective (optionnelle).
* @return Date|null
*/
public function getEndDate(): ?Date {
return $this->endDate;
}
/**
* Gets the establishment property value. Code de l'établissement d'affectation.
* @return string|null
*/
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é.
* @return string|null
*/
public function getFirstName(): ?string {
return $this->firstName;
}
/**
* Gets the lastName property value. Nom de famille de l'employé.
* @return string|null
*/
public function getLastName(): ?string {
return $this->lastName;
}
/**
* Gets the matricule property value. Matricule public unique de l'employé (SIRH).
* @return string|null
*/
public function getMatricule(): ?string {
return $this->matricule;
}
/**
* Gets the plannedEndDate property value. Date de fin de contrat prévue (optionnelle).
* @return Date|null
*/
public function getPlannedEndDate(): ?Date {
return $this->plannedEndDate;
}
/**
* Gets the service property value. Identifiant du service interne.
* @return string|null
*/
public function getService(): ?string {
return $this->service;
}
/**
* Gets the site property value. Code du site géographique.
* @return string|null
*/
public function getSite(): ?string {
return $this->site;
}
/**
* Gets the startDate property value. Date de prise de poste (YYYY-MM-DD).
* @return Date|null
*/
public function getStartDate(): ?Date {
return $this->startDate;
}
/**
* Gets the updatedAt property value. Date de dernière mise à jour.
* @return DateTime|null
*/
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;
}
}