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.
457 lines
18 KiB
457 lines
18 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>
|
|
/// Collaborateur
|
|
/// </summary>
|
|
[DataContract]
|
|
public partial class Collaborateur : IEquatable<Collaborateur>, IValidatableObject
|
|
{
|
|
/// <summary>
|
|
/// Gets or Sets Genre
|
|
/// </summary>
|
|
[DataMember(Name="genre", EmitDefaultValue=false)]
|
|
public Genre? Genre { get; set; }
|
|
/// <summary>
|
|
/// Gets or Sets Statut
|
|
/// </summary>
|
|
[DataMember(Name="statut", EmitDefaultValue=false)]
|
|
public Statut? Statut { get; set; }
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="Collaborateur" /> class.
|
|
/// </summary>
|
|
/// <param name="id">id (required).</param>
|
|
/// <param name="nom">nom (required).</param>
|
|
/// <param name="prenom">prenom (required).</param>
|
|
/// <param name="genre">genre.</param>
|
|
/// <param name="dateNaissance">dateNaissance.</param>
|
|
/// <param name="nbEnfants">nbEnfants.</param>
|
|
/// <param name="adresse">adresse.</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="referent">referent.</param>
|
|
/// <param name="parrain">parrain.</param>
|
|
/// <param name="projets">projets.</param>
|
|
/// <param name="technologiesPref">technologiesPref.</param>
|
|
/// <param name="periodeEssai">periodeEssai.</param>
|
|
/// <param name="dateArrivee">dateArrivee.</param>
|
|
/// <param name="dateDepart">dateDepart.</param>
|
|
public Collaborateur(Guid? id = default(Guid?), string nom = default(string), string prenom = default(string), Genre? genre = default(Genre?), DateTime? dateNaissance = default(DateTime?), int? nbEnfants = default(int?), Adresse adresse = default(Adresse), string telephone = default(string), string mailPerso = default(string), string mailApside = default(string), Statut? statut = default(Statut?), List<Fonction> fonctions = default(List<Fonction>), BU businessUnit = default(BU), Referent referent = default(Referent), Collaborateur parrain = default(Collaborateur), List<Projet> projets = default(List<Projet>), List<Technologie> technologiesPref = default(List<Technologie>), List<PeriodeEssai> periodeEssai = default(List<PeriodeEssai>), DateTime? dateArrivee = default(DateTime?), DateTime? dateDepart = default(DateTime?))
|
|
{
|
|
// to ensure "id" is required (not null)
|
|
if (id == null)
|
|
{
|
|
throw new InvalidDataException("id is a required property for Collaborateur and cannot be null");
|
|
}
|
|
else
|
|
{
|
|
this.Id = id;
|
|
}
|
|
// to ensure "nom" is required (not null)
|
|
if (nom == null)
|
|
{
|
|
throw new InvalidDataException("nom is a required property for Collaborateur and cannot be null");
|
|
}
|
|
else
|
|
{
|
|
this.Nom = nom;
|
|
}
|
|
// to ensure "prenom" is required (not null)
|
|
if (prenom == null)
|
|
{
|
|
throw new InvalidDataException("prenom is a required property for Collaborateur and cannot be null");
|
|
}
|
|
else
|
|
{
|
|
this.Prenom = prenom;
|
|
}
|
|
this.Genre = genre;
|
|
this.DateNaissance = dateNaissance;
|
|
this.NbEnfants = nbEnfants;
|
|
this.Adresse = adresse;
|
|
this.Telephone = telephone;
|
|
this.MailPerso = mailPerso;
|
|
this.MailApside = mailApside;
|
|
this.Statut = statut;
|
|
this.Fonctions = fonctions;
|
|
this.BusinessUnit = businessUnit;
|
|
this.Referent = referent;
|
|
this.Parrain = parrain;
|
|
this.Projets = projets;
|
|
this.TechnologiesPref = technologiesPref;
|
|
this.PeriodeEssai = periodeEssai;
|
|
this.DateArrivee = dateArrivee;
|
|
this.DateDepart = dateDepart;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or Sets Id
|
|
/// </summary>
|
|
[DataMember(Name="id", EmitDefaultValue=false)]
|
|
public Guid? Id { get; set; }
|
|
|
|
/// <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 Adresse Adresse { 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 List<Fonction> Fonctions { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or Sets BusinessUnit
|
|
/// </summary>
|
|
[DataMember(Name="businessUnit", EmitDefaultValue=false)]
|
|
public BU BusinessUnit { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or Sets Referent
|
|
/// </summary>
|
|
[DataMember(Name="referent", EmitDefaultValue=false)]
|
|
public Referent Referent { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or Sets Parrain
|
|
/// </summary>
|
|
[DataMember(Name="parrain", EmitDefaultValue=false)]
|
|
public Collaborateur Parrain { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or Sets Projets
|
|
/// </summary>
|
|
[DataMember(Name="projets", EmitDefaultValue=false)]
|
|
public List<Projet> Projets { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or Sets TechnologiesPref
|
|
/// </summary>
|
|
[DataMember(Name="technologiesPref", EmitDefaultValue=false)]
|
|
public List<Technologie> TechnologiesPref { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or Sets PeriodeEssai
|
|
/// </summary>
|
|
[DataMember(Name="periodeEssai", EmitDefaultValue=false)]
|
|
public List<PeriodeEssai> PeriodeEssai { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or Sets DateArrivee
|
|
/// </summary>
|
|
[DataMember(Name="dateArrivee", EmitDefaultValue=false)]
|
|
[JsonConverter(typeof(SwaggerDateConverter))]
|
|
public DateTime? DateArrivee { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or Sets DateDepart
|
|
/// </summary>
|
|
[DataMember(Name="dateDepart", EmitDefaultValue=false)]
|
|
[JsonConverter(typeof(SwaggerDateConverter))]
|
|
public DateTime? DateDepart { 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 Collaborateur {\n");
|
|
sb.Append(" Id: ").Append(Id).Append("\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(" 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(" Referent: ").Append(Referent).Append("\n");
|
|
sb.Append(" Parrain: ").Append(Parrain).Append("\n");
|
|
sb.Append(" Projets: ").Append(Projets).Append("\n");
|
|
sb.Append(" TechnologiesPref: ").Append(TechnologiesPref).Append("\n");
|
|
sb.Append(" PeriodeEssai: ").Append(PeriodeEssai).Append("\n");
|
|
sb.Append(" DateArrivee: ").Append(DateArrivee).Append("\n");
|
|
sb.Append(" DateDepart: ").Append(DateDepart).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 Collaborateur);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns true if Collaborateur instances are equal
|
|
/// </summary>
|
|
/// <param name="input">Instance of Collaborateur to be compared</param>
|
|
/// <returns>Boolean</returns>
|
|
public bool Equals(Collaborateur input)
|
|
{
|
|
if (input == null)
|
|
return false;
|
|
|
|
return
|
|
(
|
|
this.Id == input.Id ||
|
|
(this.Id != null &&
|
|
this.Id.Equals(input.Id))
|
|
) &&
|
|
(
|
|
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.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 &&
|
|
input.Fonctions != null &&
|
|
this.Fonctions.SequenceEqual(input.Fonctions)
|
|
) &&
|
|
(
|
|
this.BusinessUnit == input.BusinessUnit ||
|
|
(this.BusinessUnit != null &&
|
|
this.BusinessUnit.Equals(input.BusinessUnit))
|
|
) &&
|
|
(
|
|
this.Referent == input.Referent ||
|
|
(this.Referent != null &&
|
|
this.Referent.Equals(input.Referent))
|
|
) &&
|
|
(
|
|
this.Parrain == input.Parrain ||
|
|
(this.Parrain != null &&
|
|
this.Parrain.Equals(input.Parrain))
|
|
) &&
|
|
(
|
|
this.Projets == input.Projets ||
|
|
this.Projets != null &&
|
|
input.Projets != null &&
|
|
this.Projets.SequenceEqual(input.Projets)
|
|
) &&
|
|
(
|
|
this.TechnologiesPref == input.TechnologiesPref ||
|
|
this.TechnologiesPref != null &&
|
|
input.TechnologiesPref != null &&
|
|
this.TechnologiesPref.SequenceEqual(input.TechnologiesPref)
|
|
) &&
|
|
(
|
|
this.PeriodeEssai == input.PeriodeEssai ||
|
|
this.PeriodeEssai != null &&
|
|
input.PeriodeEssai != null &&
|
|
this.PeriodeEssai.SequenceEqual(input.PeriodeEssai)
|
|
) &&
|
|
(
|
|
this.DateArrivee == input.DateArrivee ||
|
|
(this.DateArrivee != null &&
|
|
this.DateArrivee.Equals(input.DateArrivee))
|
|
) &&
|
|
(
|
|
this.DateDepart == input.DateDepart ||
|
|
(this.DateDepart != null &&
|
|
this.DateDepart.Equals(input.DateDepart))
|
|
);
|
|
}
|
|
|
|
/// <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.Id != null)
|
|
hashCode = hashCode * 59 + this.Id.GetHashCode();
|
|
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.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.Referent != null)
|
|
hashCode = hashCode * 59 + this.Referent.GetHashCode();
|
|
if (this.Parrain != null)
|
|
hashCode = hashCode * 59 + this.Parrain.GetHashCode();
|
|
if (this.Projets != null)
|
|
hashCode = hashCode * 59 + this.Projets.GetHashCode();
|
|
if (this.TechnologiesPref != null)
|
|
hashCode = hashCode * 59 + this.TechnologiesPref.GetHashCode();
|
|
if (this.PeriodeEssai != null)
|
|
hashCode = hashCode * 59 + this.PeriodeEssai.GetHashCode();
|
|
if (this.DateArrivee != null)
|
|
hashCode = hashCode * 59 + this.DateArrivee.GetHashCode();
|
|
if (this.DateDepart != null)
|
|
hashCode = hashCode * 59 + this.DateDepart.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;
|
|
}
|
|
}
|
|
}
|
|
|