/*
* API du serveur de l'application de digitalisation des EP
*
* API qui sra utilisée afin de faire communiquer le client et le serveur ainsi que le serveur et la boîte noire.
*
* OpenAPI spec version: 1.3.6
*
* Generated by: https://github.com/swagger-api/swagger-codegen.git
*/
using System;
using System.Linq;
using System.IO;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Newtonsoft.Json;
namespace IO.Swagger.DTO
{
///
/// DTO pour la gestion des formations.
///
[DataContract]
public partial class FormationDTO : IEquatable
{
///
/// Id de la formation
///
/// Id de la formation
[DataMember(Name="id")]
public long? Id { get; set; }
///
/// Intitulé de la formation
///
/// Intitulé de la formation
[Required]
[DataMember(Name="intitule")]
public string Intitule { get; set; }
///
/// Gets or Sets Origine
///
[Required]
[DataMember(Name="origine")]
public OrigineFormationDTO Origine { get; set; }
///
/// Gets or Sets Statut
///
[Required]
[DataMember(Name="statut")]
public StatutFormationDTO Statut { get; set; }
///
/// Id de l'agence de la RH qui a créé la formation
///
/// Id de l'agence de la RH qui a créé la formation
[Required]
[DataMember(Name="idAgence")]
public long? IdAgence { get; set; }
///
/// Date de la première séance de la formation
///
/// Date de la première séance de la formation
[Required]
[DataMember(Name="dateDebut")]
public DateTime? DateDebut { get; set; }
///
/// Date de la dernière séance de la formation
///
/// Date de la dernière séance de la formation
[Required]
[DataMember(Name="dateFin")]
public DateTime? DateFin { get; set; }
///
/// Nombre d'heures total de formation
///
/// Nombre d'heures total de formation
[Required]
[DataMember(Name="heure")]
public int? Heure { get; set; }
///
/// Nombre de jours total de formation
///
/// Nombre de jours total de formation
[Required]
[DataMember(Name="jour")]
public int? Jour { get; set; }
///
/// Organisme en charge d'effectuer la formation
///
/// Organisme en charge d'effectuer la formation
[Required]
[DataMember(Name="organisme")]
public string Organisme { get; set; }
///
/// Gets or Sets Mode
///
[Required]
[DataMember(Name="mode")]
public ModeFormationDTO Mode { get; set; }
///
/// Gets or Sets Type
///
[Required]
[DataMember(Name="type")]
public TypeFormationDTO Type { get; set; }
///
/// Indique s'il s'agit d'une formation certifiée ou non
///
/// Indique s'il s'agit d'une formation certifiée ou non
[Required]
[DataMember(Name="estCertifiee")]
public bool? EstCertifiee { get; set; }
///
/// Indique que la formation a bien été effectuée ou non
///
/// Indique que la formation a bien été effectuée ou non
[Required]
[DataMember(Name="estRealisee")]
public bool? EstRealisee { get; set; }
///
/// Gets or Sets Participations
///
[DataMember(Name="participations")]
public List Participations { get; set; }
///
/// Returns the string presentation of the object
///
/// String presentation of the object
public override string ToString()
{
var sb = new StringBuilder();
sb.Append("class FormationDTO {\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Intitule: ").Append(Intitule).Append("\n");
sb.Append(" Origine: ").Append(Origine).Append("\n");
sb.Append(" Statut: ").Append(Statut).Append("\n");
sb.Append(" IdAgence: ").Append(IdAgence).Append("\n");
sb.Append(" DateDebut: ").Append(DateDebut).Append("\n");
sb.Append(" DateFin: ").Append(DateFin).Append("\n");
sb.Append(" Heure: ").Append(Heure).Append("\n");
sb.Append(" Jour: ").Append(Jour).Append("\n");
sb.Append(" Organisme: ").Append(Organisme).Append("\n");
sb.Append(" Mode: ").Append(Mode).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" EstCertifiee: ").Append(EstCertifiee).Append("\n");
sb.Append(" EstRealisee: ").Append(EstRealisee).Append("\n");
sb.Append(" Participations: ").Append(Participations).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
///
/// Returns the JSON string presentation of the object
///
/// JSON string presentation of the object
public string ToJson()
{
return JsonConvert.SerializeObject(this, Formatting.Indented);
}
///
/// Returns true if objects are equal
///
/// Object to be compared
/// Boolean
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
return obj.GetType() == GetType() && Equals((FormationDTO)obj);
}
///
/// Returns true if FormationDTO instances are equal
///
/// Instance of FormationDTO to be compared
/// Boolean
public bool Equals(FormationDTO other)
{
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
return
(
Id == other.Id ||
Id != null &&
Id.Equals(other.Id)
) &&
(
Intitule == other.Intitule ||
Intitule != null &&
Intitule.Equals(other.Intitule)
) &&
(
Origine == other.Origine ||
Origine != null &&
Origine.Equals(other.Origine)
) &&
(
Statut == other.Statut ||
Statut != null &&
Statut.Equals(other.Statut)
) &&
(
IdAgence == other.IdAgence ||
IdAgence != null &&
IdAgence.Equals(other.IdAgence)
) &&
(
DateDebut == other.DateDebut ||
DateDebut != null &&
DateDebut.Equals(other.DateDebut)
) &&
(
DateFin == other.DateFin ||
DateFin != null &&
DateFin.Equals(other.DateFin)
) &&
(
Heure == other.Heure ||
Heure != null &&
Heure.Equals(other.Heure)
) &&
(
Jour == other.Jour ||
Jour != null &&
Jour.Equals(other.Jour)
) &&
(
Organisme == other.Organisme ||
Organisme != null &&
Organisme.Equals(other.Organisme)
) &&
(
Mode == other.Mode ||
Mode != null &&
Mode.Equals(other.Mode)
) &&
(
Type == other.Type ||
Type != null &&
Type.Equals(other.Type)
) &&
(
EstCertifiee == other.EstCertifiee ||
EstCertifiee != null &&
EstCertifiee.Equals(other.EstCertifiee)
) &&
(
EstRealisee == other.EstRealisee ||
EstRealisee != null &&
EstRealisee.Equals(other.EstRealisee)
) &&
(
Participations == other.Participations ||
Participations != null &&
Participations.SequenceEqual(other.Participations)
);
}
///
/// Gets the hash code
///
/// Hash code
public override int GetHashCode()
{
unchecked // Overflow is fine, just wrap
{
var hashCode = 41;
// Suitable nullity checks etc, of course :)
if (Id != null)
hashCode = hashCode * 59 + Id.GetHashCode();
if (Intitule != null)
hashCode = hashCode * 59 + Intitule.GetHashCode();
if (Origine != null)
hashCode = hashCode * 59 + Origine.GetHashCode();
if (Statut != null)
hashCode = hashCode * 59 + Statut.GetHashCode();
if (IdAgence != null)
hashCode = hashCode * 59 + IdAgence.GetHashCode();
if (DateDebut != null)
hashCode = hashCode * 59 + DateDebut.GetHashCode();
if (DateFin != null)
hashCode = hashCode * 59 + DateFin.GetHashCode();
if (Heure != null)
hashCode = hashCode * 59 + Heure.GetHashCode();
if (Jour != null)
hashCode = hashCode * 59 + Jour.GetHashCode();
if (Organisme != null)
hashCode = hashCode * 59 + Organisme.GetHashCode();
if (Mode != null)
hashCode = hashCode * 59 + Mode.GetHashCode();
if (Type != null)
hashCode = hashCode * 59 + Type.GetHashCode();
if (EstCertifiee != null)
hashCode = hashCode * 59 + EstCertifiee.GetHashCode();
if (EstRealisee != null)
hashCode = hashCode * 59 + EstRealisee.GetHashCode();
if (Participations != null)
hashCode = hashCode * 59 + Participations.GetHashCode();
return hashCode;
}
}
#region Operators
#pragma warning disable 1591
public static bool operator ==(FormationDTO left, FormationDTO right)
{
return Equals(left, right);
}
public static bool operator !=(FormationDTO left, FormationDTO right)
{
return !Equals(left, right);
}
#pragma warning restore 1591
#endregion Operators
}
}