You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Digitalisation_EPA_Serveur/EPAServeur/ModelCollaborateur/NouveauCollaborateur.cs

430 lines
17 KiB

/*
* Service Collaborateur API
*
* Api du service Collaborateur, utilisée pour récupérer les données des collaborateurs d'Apside
*
* OpenAPI spec version: 1.1.3
* Contact: lilian.gayet@apside-groupe.com
* Generated by: https://github.com/swagger-api/swagger-codegen.git
*/
using System;
using System.Linq;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.ComponentModel.DataAnnotations;
using SwaggerDateConverter = IO.Swagger.ClientCollaborateur.SwaggerDateConverter;
namespace IO.Swagger.ModelCollaborateur
{
/// <summary>
/// NouveauCollaborateur
/// </summary>
[DataContract]
public partial class NouveauCollaborateur : IEquatable<NouveauCollaborateur>, IValidatableObject
{
/// <summary>
/// Defines Genre
/// </summary>
[JsonConverter(typeof(StringEnumConverter))]
public enum GenreEnum
{
/// <summary>
/// Enum FEMININ for value: FEMININ
/// </summary>
[EnumMember(Value = "FEMININ")]
FEMININ = 1,
/// <summary>
/// Enum MASCULIN for value: MASCULIN
/// </summary>
[EnumMember(Value = "MASCULIN")]
MASCULIN = 2,
/// <summary>
/// Enum NEUTRE for value: NEUTRE
/// </summary>
[EnumMember(Value = "NEUTRE")]
NEUTRE = 3 }
/// <summary>
/// Gets or Sets Genre
/// </summary>
[DataMember(Name="genre", EmitDefaultValue=false)]
public GenreEnum? Genre { get; set; }
/// <summary>
/// Defines Statut
/// </summary>
[JsonConverter(typeof(StringEnumConverter))]
public enum StatutEnum
{
/// <summary>
/// Enum CADRE for value: CADRE
/// </summary>
[EnumMember(Value = "CADRE")]
CADRE = 1,
/// <summary>
/// Enum NONCADRE for value: NON-CADRE
/// </summary>
[EnumMember(Value = "NON-CADRE")]
NONCADRE = 2,
/// <summary>
/// Enum ALTERNANT for value: ALTERNANT
/// </summary>
[EnumMember(Value = "ALTERNANT")]
ALTERNANT = 3,
/// <summary>
/// Enum STAGIAIRE for value: STAGIAIRE
/// </summary>
[EnumMember(Value = "STAGIAIRE")]
STAGIAIRE = 4 }
/// <summary>
/// Gets or Sets Statut
/// </summary>
[DataMember(Name="statut", EmitDefaultValue=false)]
public StatutEnum? Statut { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="NouveauCollaborateur" /> class.
/// </summary>
/// <param name="nom">nom.</param>
/// <param name="prenom">prenom.</param>
/// <param name="genre">genre.</param>
/// <param name="dateNaissance">dateNaissance.</param>
/// <param name="nbEnfants">nbEnfants.</param>
/// <param name="adresse">adresse.</param>
/// <param name="adresseId">adresseId.</param>
/// <param name="telephone">telephone.</param>
/// <param name="mailPerso">mailPerso.</param>
/// <param name="mailApside">mailApside.</param>
/// <param name="statut">statut.</param>
/// <param name="fonctions">fonctions.</param>
/// <param name="businessUnit">businessUnit.</param>
/// <param name="parrain">parrain.</param>
/// <param name="technologiesPref">technologiesPref.</param>
/// <param name="dateDebutPE">dateDebutPE.</param>
/// <param name="dateFinPE">dateFinPE.</param>
public NouveauCollaborateur(string nom = default(string), string prenom = default(string), GenreEnum? genre = default(GenreEnum?), DateTime? dateNaissance = default(DateTime?), int? nbEnfants = default(int?), string adresse = default(string), long? adresseId = default(long?), string telephone = default(string), string mailPerso = default(string), string mailApside = default(string), StatutEnum? statut = default(StatutEnum?), string fonctions = default(string), long? businessUnit = default(long?), long? parrain = default(long?), List<string> technologiesPref = default(List<string>), DateTime? dateDebutPE = default(DateTime?), DateTime? dateFinPE = default(DateTime?))
{
this.Nom = nom;
this.Prenom = prenom;
this.Genre = genre;
this.DateNaissance = dateNaissance;
this.NbEnfants = nbEnfants;
this.Adresse = adresse;
this.AdresseId = adresseId;
this.Telephone = telephone;
this.MailPerso = mailPerso;
this.MailApside = mailApside;
this.Statut = statut;
this.Fonctions = fonctions;
this.BusinessUnit = businessUnit;
this.Parrain = parrain;
this.TechnologiesPref = technologiesPref;
this.DateDebutPE = dateDebutPE;
this.DateFinPE = dateFinPE;
}
/// <summary>
/// Gets or Sets Nom
/// </summary>
[DataMember(Name="nom", EmitDefaultValue=false)]
public string Nom { get; set; }
/// <summary>
/// Gets or Sets Prenom
/// </summary>
[DataMember(Name="prenom", EmitDefaultValue=false)]
public string Prenom { get; set; }
/// <summary>
/// Gets or Sets DateNaissance
/// </summary>
[DataMember(Name="dateNaissance", EmitDefaultValue=false)]
[JsonConverter(typeof(SwaggerDateConverter))]
public DateTime? DateNaissance { get; set; }
/// <summary>
/// Gets or Sets NbEnfants
/// </summary>
[DataMember(Name="nbEnfants", EmitDefaultValue=false)]
public int? NbEnfants { get; set; }
/// <summary>
/// Gets or Sets Adresse
/// </summary>
[DataMember(Name="adresse", EmitDefaultValue=false)]
public string Adresse { get; set; }
/// <summary>
/// Gets or Sets AdresseId
/// </summary>
[DataMember(Name="adresseId", EmitDefaultValue=false)]
public long? AdresseId { get; set; }
/// <summary>
/// Gets or Sets Telephone
/// </summary>
[DataMember(Name="telephone", EmitDefaultValue=false)]
public string Telephone { get; set; }
/// <summary>
/// Gets or Sets MailPerso
/// </summary>
[DataMember(Name="mailPerso", EmitDefaultValue=false)]
public string MailPerso { get; set; }
/// <summary>
/// Gets or Sets MailApside
/// </summary>
[DataMember(Name="mailApside", EmitDefaultValue=false)]
public string MailApside { get; set; }
/// <summary>
/// Gets or Sets Fonctions
/// </summary>
[DataMember(Name="fonctions", EmitDefaultValue=false)]
public string Fonctions { get; set; }
/// <summary>
/// Gets or Sets BusinessUnit
/// </summary>
[DataMember(Name="businessUnit", EmitDefaultValue=false)]
public long? BusinessUnit { get; set; }
/// <summary>
/// Gets or Sets Parrain
/// </summary>
[DataMember(Name="parrain", EmitDefaultValue=false)]
public long? Parrain { get; set; }
/// <summary>
/// Gets or Sets TechnologiesPref
/// </summary>
[DataMember(Name="technologiesPref", EmitDefaultValue=false)]
public List<string> TechnologiesPref { get; set; }
/// <summary>
/// Gets or Sets DateDebutPE
/// </summary>
[DataMember(Name="dateDebutPE", EmitDefaultValue=false)]
[JsonConverter(typeof(SwaggerDateConverter))]
public DateTime? DateDebutPE { get; set; }
/// <summary>
/// Gets or Sets DateFinPE
/// </summary>
[DataMember(Name="dateFinPE", EmitDefaultValue=false)]
[JsonConverter(typeof(SwaggerDateConverter))]
public DateTime? DateFinPE { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
var sb = new StringBuilder();
sb.Append("class NouveauCollaborateur {\n");
sb.Append(" Nom: ").Append(Nom).Append("\n");
sb.Append(" Prenom: ").Append(Prenom).Append("\n");
sb.Append(" Genre: ").Append(Genre).Append("\n");
sb.Append(" DateNaissance: ").Append(DateNaissance).Append("\n");
sb.Append(" NbEnfants: ").Append(NbEnfants).Append("\n");
sb.Append(" Adresse: ").Append(Adresse).Append("\n");
sb.Append(" AdresseId: ").Append(AdresseId).Append("\n");
sb.Append(" Telephone: ").Append(Telephone).Append("\n");
sb.Append(" MailPerso: ").Append(MailPerso).Append("\n");
sb.Append(" MailApside: ").Append(MailApside).Append("\n");
sb.Append(" Statut: ").Append(Statut).Append("\n");
sb.Append(" Fonctions: ").Append(Fonctions).Append("\n");
sb.Append(" BusinessUnit: ").Append(BusinessUnit).Append("\n");
sb.Append(" Parrain: ").Append(Parrain).Append("\n");
sb.Append(" TechnologiesPref: ").Append(TechnologiesPref).Append("\n");
sb.Append(" DateDebutPE: ").Append(DateDebutPE).Append("\n");
sb.Append(" DateFinPE: ").Append(DateFinPE).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return JsonConvert.SerializeObject(this, Formatting.Indented);
}
/// <summary>
/// Returns true if objects are equal
/// </summary>
/// <param name="input">Object to be compared</param>
/// <returns>Boolean</returns>
public override bool Equals(object input)
{
return this.Equals(input as NouveauCollaborateur);
}
/// <summary>
/// Returns true if NouveauCollaborateur instances are equal
/// </summary>
/// <param name="input">Instance of NouveauCollaborateur to be compared</param>
/// <returns>Boolean</returns>
public bool Equals(NouveauCollaborateur input)
{
if (input == null)
return false;
return
(
this.Nom == input.Nom ||
(this.Nom != null &&
this.Nom.Equals(input.Nom))
) &&
(
this.Prenom == input.Prenom ||
(this.Prenom != null &&
this.Prenom.Equals(input.Prenom))
) &&
(
this.Genre == input.Genre ||
(this.Genre != null &&
this.Genre.Equals(input.Genre))
) &&
(
this.DateNaissance == input.DateNaissance ||
(this.DateNaissance != null &&
this.DateNaissance.Equals(input.DateNaissance))
) &&
(
this.NbEnfants == input.NbEnfants ||
(this.NbEnfants != null &&
this.NbEnfants.Equals(input.NbEnfants))
) &&
(
this.Adresse == input.Adresse ||
(this.Adresse != null &&
this.Adresse.Equals(input.Adresse))
) &&
(
this.AdresseId == input.AdresseId ||
(this.AdresseId != null &&
this.AdresseId.Equals(input.AdresseId))
) &&
(
this.Telephone == input.Telephone ||
(this.Telephone != null &&
this.Telephone.Equals(input.Telephone))
) &&
(
this.MailPerso == input.MailPerso ||
(this.MailPerso != null &&
this.MailPerso.Equals(input.MailPerso))
) &&
(
this.MailApside == input.MailApside ||
(this.MailApside != null &&
this.MailApside.Equals(input.MailApside))
) &&
(
this.Statut == input.Statut ||
(this.Statut != null &&
this.Statut.Equals(input.Statut))
) &&
(
this.Fonctions == input.Fonctions ||
(this.Fonctions != null &&
this.Fonctions.Equals(input.Fonctions))
) &&
(
this.BusinessUnit == input.BusinessUnit ||
(this.BusinessUnit != null &&
this.BusinessUnit.Equals(input.BusinessUnit))
) &&
(
this.Parrain == input.Parrain ||
(this.Parrain != null &&
this.Parrain.Equals(input.Parrain))
) &&
(
this.TechnologiesPref == input.TechnologiesPref ||
this.TechnologiesPref != null &&
input.TechnologiesPref != null &&
this.TechnologiesPref.SequenceEqual(input.TechnologiesPref)
) &&
(
this.DateDebutPE == input.DateDebutPE ||
(this.DateDebutPE != null &&
this.DateDebutPE.Equals(input.DateDebutPE))
) &&
(
this.DateFinPE == input.DateFinPE ||
(this.DateFinPE != null &&
this.DateFinPE.Equals(input.DateFinPE))
);
}
/// <summary>
/// Gets the hash code
/// </summary>
/// <returns>Hash code</returns>
public override int GetHashCode()
{
unchecked // Overflow is fine, just wrap
{
int hashCode = 41;
if (this.Nom != null)
hashCode = hashCode * 59 + this.Nom.GetHashCode();
if (this.Prenom != null)
hashCode = hashCode * 59 + this.Prenom.GetHashCode();
if (this.Genre != null)
hashCode = hashCode * 59 + this.Genre.GetHashCode();
if (this.DateNaissance != null)
hashCode = hashCode * 59 + this.DateNaissance.GetHashCode();
if (this.NbEnfants != null)
hashCode = hashCode * 59 + this.NbEnfants.GetHashCode();
if (this.Adresse != null)
hashCode = hashCode * 59 + this.Adresse.GetHashCode();
if (this.AdresseId != null)
hashCode = hashCode * 59 + this.AdresseId.GetHashCode();
if (this.Telephone != null)
hashCode = hashCode * 59 + this.Telephone.GetHashCode();
if (this.MailPerso != null)
hashCode = hashCode * 59 + this.MailPerso.GetHashCode();
if (this.MailApside != null)
hashCode = hashCode * 59 + this.MailApside.GetHashCode();
if (this.Statut != null)
hashCode = hashCode * 59 + this.Statut.GetHashCode();
if (this.Fonctions != null)
hashCode = hashCode * 59 + this.Fonctions.GetHashCode();
if (this.BusinessUnit != null)
hashCode = hashCode * 59 + this.BusinessUnit.GetHashCode();
if (this.Parrain != null)
hashCode = hashCode * 59 + this.Parrain.GetHashCode();
if (this.TechnologiesPref != null)
hashCode = hashCode * 59 + this.TechnologiesPref.GetHashCode();
if (this.DateDebutPE != null)
hashCode = hashCode * 59 + this.DateDebutPE.GetHashCode();
if (this.DateFinPE != null)
hashCode = hashCode * 59 + this.DateFinPE.GetHashCode();
return hashCode;
}
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<System.ComponentModel.DataAnnotations.ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}