/*
* 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;
using IO.Swagger.Enum;
namespace IO.Swagger.DTO
{
///
/// DTO pour la gestion des demandes de délégation.
///
[DataContract]
public partial class DemandeDelegationDTO : IEquatable
{
///
/// Id de le demande de délégation
///
/// Id de le demande de délégation
[DataMember(Name="id")]
public long? Id { get; set; }
///
/// Gets or Sets Referent
///
[Required]
[DataMember(Name="referent")]
public CollaborateurDTO Referent { get; set; }
///
/// Gets or Sets Ep
///
[Required]
[DataMember(Name="ep")]
public EpInformationDTO Ep { get; set; }
///
/// Date à laquelle la demande de délégation a été effectuée
///
/// Date à laquelle la demande de délégation a été effectuée
[Required]
[DataMember(Name="dateDemande")]
public DateTime? DateDemande { get; set; }
///
/// Raison pour laquelle la demande a été effectuée
///
/// Raison pour laquelle la demande a été effectuée
[Required]
[DataMember(Name="raisonDemande")]
public string RaisonDemande { get; set; }
///
/// Gets or Sets EtatDemande
///
[Required]
[DataMember(Name="etatDemande")]
public EtatDemande EtatDemande { get; set; }
///
/// Date à laquelle la réponse a été donnée
///
/// Date à laquelle la réponse a été donnée
[DataMember(Name="dateReponse")]
public DateTime? DateReponse { get; set; }
///
/// Raison pour laquelle la demande a été refusée
///
/// Raison pour laquelle la demande a été refusée
[DataMember(Name="raisonRefus")]
public string RaisonRefus { 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 DemandeDelegationDTO {\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Referent: ").Append(Referent).Append("\n");
sb.Append(" Ep: ").Append(Ep).Append("\n");
sb.Append(" DateDemande: ").Append(DateDemande).Append("\n");
sb.Append(" RaisonDemande: ").Append(RaisonDemande).Append("\n");
sb.Append(" EtatDemande: ").Append(EtatDemande).Append("\n");
sb.Append(" DateReponse: ").Append(DateReponse).Append("\n");
sb.Append(" RaisonRefus: ").Append(RaisonRefus).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((DemandeDelegationDTO)obj);
}
///
/// Returns true if DemandeDelegationDTO instances are equal
///
/// Instance of DemandeDelegationDTO to be compared
/// Boolean
public bool Equals(DemandeDelegationDTO other)
{
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
return
(
Id == other.Id ||
Id != null &&
Id.Equals(other.Id)
) &&
(
Referent == other.Referent ||
Referent != null &&
Referent.Equals(other.Referent)
) &&
(
Ep == other.Ep ||
Ep != null &&
Ep.Equals(other.Ep)
) &&
(
DateDemande == other.DateDemande ||
DateDemande != null &&
DateDemande.Equals(other.DateDemande)
) &&
(
RaisonDemande == other.RaisonDemande ||
RaisonDemande != null &&
RaisonDemande.Equals(other.RaisonDemande)
) &&
(
EtatDemande == other.EtatDemande ||
EtatDemande != null &&
EtatDemande.Equals(other.EtatDemande)
) &&
(
DateReponse == other.DateReponse ||
DateReponse != null &&
DateReponse.Equals(other.DateReponse)
) &&
(
RaisonRefus == other.RaisonRefus ||
RaisonRefus != null &&
RaisonRefus.Equals(other.RaisonRefus)
);
}
///
/// 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 (Referent != null)
hashCode = hashCode * 59 + Referent.GetHashCode();
if (Ep != null)
hashCode = hashCode * 59 + Ep.GetHashCode();
if (DateDemande != null)
hashCode = hashCode * 59 + DateDemande.GetHashCode();
if (RaisonDemande != null)
hashCode = hashCode * 59 + RaisonDemande.GetHashCode();
if (EtatDemande != null)
hashCode = hashCode * 59 + EtatDemande.GetHashCode();
if (DateReponse != null)
hashCode = hashCode * 59 + DateReponse.GetHashCode();
if (RaisonRefus != null)
hashCode = hashCode * 59 + RaisonRefus.GetHashCode();
return hashCode;
}
}
#region Operators
#pragma warning disable 1591
public static bool operator ==(DemandeDelegationDTO left, DemandeDelegationDTO right)
{
return Equals(left, right);
}
public static bool operator !=(DemandeDelegationDTO left, DemandeDelegationDTO right)
{
return !Equals(left, right);
}
#pragma warning restore 1591
#endregion Operators
}
}