From 811d2aabd5fc99bc36edc819b00e4c8cc6ecb288 Mon Sep 17 00:00:00 2001 From: jboinembalome Date: Wed, 9 Dec 2020 09:31:47 +0100 Subject: [PATCH] =?UTF-8?q?MAJ=20du=20service=20Engagement=20en=20fonction?= =?UTF-8?q?=20du=20mod=C3=A8le=20=C3=A0=20jour?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EPAServeur/DTO/EngagementDTO.cs | 89 ++++++++--------- EPAServeur/IServices/IEngagementService.cs | 12 +-- EPAServeur/Services/EngagementService.cs | 105 +++++++++------------ 3 files changed, 89 insertions(+), 117 deletions(-) diff --git a/EPAServeur/DTO/EngagementDTO.cs b/EPAServeur/DTO/EngagementDTO.cs index ec159cd..14f2011 100644 --- a/EPAServeur/DTO/EngagementDTO.cs +++ b/EPAServeur/DTO/EngagementDTO.cs @@ -3,7 +3,7 @@ * * 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.4 + * OpenAPI spec version: 1.3.6 * * Generated by: https://github.com/swagger-api/swagger-codegen.git */ @@ -17,65 +17,66 @@ using System.Collections.ObjectModel; using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; using Newtonsoft.Json; +using IO.Swagger.Enum; namespace IO.Swagger.DTO { /// - /// Les détails d'un engagement pris par un référent pour un EP + /// DTO concernant les engagements pris par le référent lors de l'EP. /// [DataContract] public partial class EngagementDTO : IEquatable { /// - /// Gets or Sets Id + /// Id de l'engagement /// + /// Id de l'engagement [Required] [DataMember(Name="id")] public long? Id { get; set; } /// - /// Gets or Sets Action + /// Action de l'engagement /// + /// Action de l'engagement [Required] [DataMember(Name="action")] public string Action { get; set; } /// - /// Gets or Sets Modalite - /// - [Required] - [DataMember(Name="modalite")] - public string Modalite { get; set; } - - /// - /// Gets or Sets Dispositif + /// Dispositif à mettre en place pour respecter l'engagement dans les temps /// + /// Dispositif à mettre en place pour respecter l'engagement dans les temps [Required] [DataMember(Name="dispositif")] public string Dispositif { get; set; } /// - /// Gets or Sets DatePrevisionnelle + /// ”Sur temps de travail” ou ”Hors-temps” /// + /// ”Sur temps de travail” ou ”Hors-temps” [Required] - [DataMember(Name="datePrevisionnelle")] - public DateTime? DatePrevisionnelle { get; set; } + [DataMember(Name="modalite")] + public string Modalite { get; set; } /// - /// Gets or Sets Realisable + /// Date limite pour respecter l'engagement /// - [DataMember(Name="realisable")] - public bool? Realisable { get; set; } + /// Date limite pour respecter l'engagement + [Required] + [DataMember(Name="dateLimite")] + public DateTime? DateLimite { get; set; } /// - /// Gets or Sets Realise + /// Gets or Sets EtatEngagement /// - [DataMember(Name="realise")] - public bool? Realise { get; set; } + [DataMember(Name="etatEngagement")] + public EtatEngagement EtatEngagement { get; set; } /// - /// Gets or Sets RaisonNonRealisable + /// Raison pour laquelle l'engagement ne sera pas respecté /// + /// Raison pour laquelle l'engagement ne sera pas respecté [DataMember(Name="raisonNonRealisable")] public string RaisonNonRealisable { get; set; } @@ -95,11 +96,10 @@ namespace IO.Swagger.DTO sb.Append("class EngagementDTO {\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" Action: ").Append(Action).Append("\n"); - sb.Append(" Modalite: ").Append(Modalite).Append("\n"); sb.Append(" Dispositif: ").Append(Dispositif).Append("\n"); - sb.Append(" DatePrevisionnelle: ").Append(DatePrevisionnelle).Append("\n"); - sb.Append(" Realisable: ").Append(Realisable).Append("\n"); - sb.Append(" Realise: ").Append(Realise).Append("\n"); + sb.Append(" Modalite: ").Append(Modalite).Append("\n"); + sb.Append(" DateLimite: ").Append(DateLimite).Append("\n"); + sb.Append(" EtatEngagement: ").Append(EtatEngagement).Append("\n"); sb.Append(" RaisonNonRealisable: ").Append(RaisonNonRealisable).Append("\n"); sb.Append(" Ep: ").Append(Ep).Append("\n"); sb.Append("}\n"); @@ -148,30 +148,25 @@ namespace IO.Swagger.DTO Action != null && Action.Equals(other.Action) ) && - ( - Modalite == other.Modalite || - Modalite != null && - Modalite.Equals(other.Modalite) - ) && ( Dispositif == other.Dispositif || Dispositif != null && Dispositif.Equals(other.Dispositif) ) && ( - DatePrevisionnelle == other.DatePrevisionnelle || - DatePrevisionnelle != null && - DatePrevisionnelle.Equals(other.DatePrevisionnelle) + Modalite == other.Modalite || + Modalite != null && + Modalite.Equals(other.Modalite) ) && ( - Realisable == other.Realisable || - Realisable != null && - Realisable.Equals(other.Realisable) + DateLimite == other.DateLimite || + DateLimite != null && + DateLimite.Equals(other.DateLimite) ) && ( - Realise == other.Realise || - Realise != null && - Realise.Equals(other.Realise) + EtatEngagement == other.EtatEngagement || + EtatEngagement != null && + EtatEngagement.Equals(other.EtatEngagement) ) && ( RaisonNonRealisable == other.RaisonNonRealisable || @@ -199,16 +194,14 @@ namespace IO.Swagger.DTO hashCode = hashCode * 59 + Id.GetHashCode(); if (Action != null) hashCode = hashCode * 59 + Action.GetHashCode(); - if (Modalite != null) - hashCode = hashCode * 59 + Modalite.GetHashCode(); if (Dispositif != null) hashCode = hashCode * 59 + Dispositif.GetHashCode(); - if (DatePrevisionnelle != null) - hashCode = hashCode * 59 + DatePrevisionnelle.GetHashCode(); - if (Realisable != null) - hashCode = hashCode * 59 + Realisable.GetHashCode(); - if (Realise != null) - hashCode = hashCode * 59 + Realise.GetHashCode(); + if (Modalite != null) + hashCode = hashCode * 59 + Modalite.GetHashCode(); + if (DateLimite != null) + hashCode = hashCode * 59 + DateLimite.GetHashCode(); + if (EtatEngagement != null) + hashCode = hashCode * 59 + EtatEngagement.GetHashCode(); if (RaisonNonRealisable != null) hashCode = hashCode * 59 + RaisonNonRealisable.GetHashCode(); if (Ep != null) diff --git a/EPAServeur/IServices/IEngagementService.cs b/EPAServeur/IServices/IEngagementService.cs index cbf5d6c..bc94629 100644 --- a/EPAServeur/IServices/IEngagementService.cs +++ b/EPAServeur/IServices/IEngagementService.cs @@ -11,12 +11,12 @@ namespace EPAServeur.IServices public interface IEngagementService { - IEnumerable GetEngagements(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri); - Task> GetEngagementsAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri); - IEnumerable GetEngagementsEnAttente(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri); - Task> GetEngagementsEnAttenteAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri); - IEnumerable GetEngagementsRepondus(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri); - Task> GetEngagementsRepondusAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri); + IEnumerable GetEngagements(bool? asc, int? numPage, int? parPAge, string texte, string tri); + Task> GetEngagementsAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri); + IEnumerable GetEngagementsEnAttente(bool? asc, int? numPage, int? parPAge, string texte, string tri); + Task> GetEngagementsEnAttenteAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri); + IEnumerable GetEngagementsRepondus(bool? asc, int? numPage, int? parPAge, string texte, string tri); + Task> GetEngagementsRepondusAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri); EngagementDTO RepondreEngagement(EngagementDTO engagement, long? idEngagement); Task RepondreEngagementAsync(EngagementDTO engagement, long? idEngagement); diff --git a/EPAServeur/Services/EngagementService.cs b/EPAServeur/Services/EngagementService.cs index b4e2910..2788ac7 100644 --- a/EPAServeur/Services/EngagementService.cs +++ b/EPAServeur/Services/EngagementService.cs @@ -5,6 +5,7 @@ using EPAServeur.Models.EP; using EPAServeur.Models.Formation; using EPAServeur.Models.SaisieChamp; using IO.Swagger.DTO; +using IO.Swagger.Enum; using IO.Swagger.ModelCollaborateur; using Microsoft.EntityFrameworkCore; using System; @@ -41,7 +42,7 @@ namespace EPAServeur.Services #region Méthodes Service - public IEnumerable GetEngagements(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri) + public IEnumerable GetEngagements(bool? asc, int? numPage, int? parPAge, string texte, string tri) { IEnumerable engagements; @@ -53,10 +54,7 @@ namespace EPAServeur.Services int skip = (numPage.Value - 1) * parPAge.Value; int take = parPAge.Value; - if (idAgence != null) - engagements = epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Ep.IdAgence == idAgence).Skip(skip).Take(take); - else - engagements = epContext.Engagement.Include(engagement => engagement.Ep).Skip(skip).Take(take); + engagements = epContext.Engagement.Include(engagement => engagement.Ep).Skip(skip).Take(take); if (engagements == null || engagements.Count() == 0) return new List(); @@ -66,7 +64,7 @@ namespace EPAServeur.Services return engagementDTOs; } - public async Task> GetEngagementsAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri) + public async Task> GetEngagementsAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri) { IEnumerable engagements; @@ -78,10 +76,7 @@ namespace EPAServeur.Services int skip = (numPage.Value - 1) * parPAge.Value; int take = parPAge.Value; - if (idAgence != null) - engagements = await epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Ep.IdAgence == idAgence).Skip(skip).Take(take).ToListAsync(); - else - engagements = await epContext.Engagement.Include(engagement => engagement.Ep).Skip(skip).Take(take).ToListAsync(); + engagements = await epContext.Engagement.Include(engagement => engagement.Ep).Skip(skip).Take(take).ToListAsync(); if (engagements == null || engagements.Count() == 0) return new List(); @@ -92,7 +87,7 @@ namespace EPAServeur.Services return results; } - public IEnumerable GetEngagementsEnAttente(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri) + public IEnumerable GetEngagementsEnAttente(bool? asc, int? numPage, int? parPAge, string texte, string tri) { IEnumerable engagements; @@ -104,10 +99,7 @@ namespace EPAServeur.Services int skip = (numPage.Value - 1) * parPAge.Value; int take = parPAge.Value; - if (idAgence != null) - engagements = epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Ep.IdAgence == idAgence && engagement.Realise == null).Skip(skip).Take(take).ToList(); - else - engagements = epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Realise == null).Skip(skip).Take(take).ToList(); + engagements = epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.EtatEngagement == EtatEngagement.EnAttente).Skip(skip).Take(take).ToList(); if (engagements == null || engagements.Count() == 0) return new List(); @@ -117,7 +109,7 @@ namespace EPAServeur.Services return engagementDTOs; } - public async Task> GetEngagementsEnAttenteAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri) + public async Task> GetEngagementsEnAttenteAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri) { IEnumerable engagements; @@ -129,10 +121,7 @@ namespace EPAServeur.Services int skip = (numPage.Value - 1) * parPAge.Value; int take = parPAge.Value; - if (idAgence != null) - engagements = await epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Ep.IdAgence == idAgence && engagement.Realise == null).Skip(skip).Take(take).ToListAsync(); - else - engagements = await epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Realise == null).Skip(skip).Take(take).ToListAsync(); + engagements = await epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.EtatEngagement == EtatEngagement.EnAttente).Skip(skip).Take(take).ToListAsync(); if (engagements == null || engagements.Count() == 0) return new List(); @@ -143,7 +132,7 @@ namespace EPAServeur.Services return results; } - public IEnumerable GetEngagementsRepondus(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri) + public IEnumerable GetEngagementsRepondus(bool? asc, int? numPage, int? parPAge, string texte, string tri) { IEnumerable engagements; @@ -155,10 +144,7 @@ namespace EPAServeur.Services int skip = (numPage.Value - 1) * parPAge.Value; int take = parPAge.Value; - if (idAgence != null) - engagements = epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Ep.IdAgence == idAgence && engagement.Modalite.ToLower().Contains(texte)).Skip(skip).Take(take); - else - engagements = epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Realise != null && engagement.Modalite.ToLower().Contains(texte)).Skip(skip).Take(take); + engagements = epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.EtatEngagement == EtatEngagement.Respecte && engagement.Modalite.ToLower().Contains(texte)).Skip(skip).Take(take); if (engagements == null || engagements.Count() == 0) return new List(); @@ -168,7 +154,7 @@ namespace EPAServeur.Services return engagementDTOs; } - public async Task> GetEngagementsRepondusAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri) + public async Task> GetEngagementsRepondusAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri) { IEnumerable engagements; @@ -180,10 +166,7 @@ namespace EPAServeur.Services int skip = (numPage.Value - 1) * parPAge.Value; int take = parPAge.Value; - if (idAgence != null) - engagements = await epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Ep.IdAgence == idAgence && engagement.Modalite.ToLower().Contains(texte)).Skip(skip).Take(take).ToListAsync(); - else - engagements = await epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.Realise != null && engagement.Modalite.ToLower().Contains(texte)).Skip(skip).Take(take).ToListAsync(); + engagements = await epContext.Engagement.Include(engagement => engagement.Ep).Where(engagement => engagement.EtatEngagement == EtatEngagement.Respecte && engagement.Modalite.ToLower().Contains(texte)).Skip(skip).Take(take).ToListAsync(); if (engagements == null || engagements.Count() == 0) return new List(); @@ -206,7 +189,7 @@ namespace EPAServeur.Services if (!IsEngagementValide(engagementDTO)) throw new EngagementInvalidException("Impossible de répondre à l'engagement, des données sont manquants."); - if (engagementDTO.Realise == false && string.IsNullOrWhiteSpace(engagementDTO.RaisonNonRealisable)) + if (engagementDTO.EtatEngagement == EtatEngagement.NonRealisable && string.IsNullOrWhiteSpace(engagementDTO.RaisonNonRealisable)) throw new EngagementInvalidException("Impossible de répondre à l'engagement, une raison doit être rensignée lorsqu'un engagement n'est pas réalisé."); if (engagementDTO == null && !engagementDTO.Id.HasValue && engagementDTO.Id.Value != idEngagement) @@ -218,20 +201,20 @@ namespace EPAServeur.Services if (engagement == null) throw new EngagementNotFoundException(); - engagement.Realise = engagementDTO.Realise; + engagement.EtatEngagement = engagementDTO.EtatEngagement; - switch (engagement.Realise) + switch (engagement.EtatEngagement) { - case true: - engagement.Realisable = engagementDTO.Realisable; + case EtatEngagement.Respecte: + engagement.EtatEngagement = engagementDTO.EtatEngagement; engagement.RaisonNonRealisable = null; break; - case false: - engagement.Realisable = engagementDTO.Realisable; + case EtatEngagement.NonRealisable: + engagement.EtatEngagement = engagementDTO.EtatEngagement; engagement.RaisonNonRealisable = engagementDTO.RaisonNonRealisable; break; default: - engagement.Realisable = null; + engagement.EtatEngagement = engagementDTO.EtatEngagement; engagement.RaisonNonRealisable = null; break; } @@ -254,7 +237,7 @@ namespace EPAServeur.Services if (!IsEngagementValide(engagementDTO)) throw new EngagementInvalidException("Impossible de répondre à l'engagement, des données sont manquants."); - if (engagementDTO.Realise == false && string.IsNullOrWhiteSpace(engagementDTO.RaisonNonRealisable)) + if (engagementDTO.EtatEngagement == EtatEngagement.NonRealisable && string.IsNullOrWhiteSpace(engagementDTO.RaisonNonRealisable)) throw new EngagementInvalidException("Impossible de répondre à l'engagement, une raison doit être rensignée lorsqu'un engagement n'est pas réalisé."); @@ -263,24 +246,23 @@ namespace EPAServeur.Services if (engagement == null) throw new EngagementNotFoundException(); - engagement.Realise = engagementDTO.Realise; + engagement.EtatEngagement = engagementDTO.EtatEngagement; - switch (engagement.Realise) + switch (engagement.EtatEngagement) { - case true: - engagement.Realisable = engagementDTO.Realisable; + case EtatEngagement.Respecte: + engagement.EtatEngagement = engagementDTO.EtatEngagement; engagement.RaisonNonRealisable = null; break; - case false: - engagement.Realisable = engagementDTO.Realisable; + case EtatEngagement.NonRealisable: + engagement.EtatEngagement = engagementDTO.EtatEngagement; engagement.RaisonNonRealisable = engagementDTO.RaisonNonRealisable; break; default: - engagement.Realisable = null; + engagement.EtatEngagement = engagementDTO.EtatEngagement; engagement.RaisonNonRealisable = null; break; } - await epContext.SaveChangesAsync(); return await GetEngagementDTOAsync(engagement); @@ -292,7 +274,7 @@ namespace EPAServeur.Services #region Méthodes Privée private bool IsEngagementValide(EngagementDTO engagementDTO) { - return !(engagementDTO == null || engagementDTO.Id == null || engagementDTO.Action == null || engagementDTO.DatePrevisionnelle == null || engagementDTO.Dispositif == null || engagementDTO.Modalite == null); + return !(engagementDTO == null || engagementDTO.Id == null || engagementDTO.Action == null || engagementDTO.DateLimite == null || engagementDTO.Dispositif == null || engagementDTO.Modalite == null); } #region Object to DTO @@ -308,12 +290,11 @@ namespace EPAServeur.Services { Id = engagement.IdEngagement, Action = engagement.Action, - DatePrevisionnelle = engagement.DateLimite, + DateLimite = engagement.DateLimite, Dispositif = engagement.Dispositif, Modalite = engagement.Modalite, RaisonNonRealisable = engagement.RaisonNonRealisable, - Realisable = engagement.Realisable, - Realise = engagement.Realise, + EtatEngagement = engagement.EtatEngagement, Ep = GetEpInformationDTO(engagement.Ep) }; @@ -331,12 +312,11 @@ namespace EPAServeur.Services { Id = engagement.IdEngagement, Action = engagement.Action, - DatePrevisionnelle = engagement.DateLimite, + DateLimite = engagement.DateLimite, Dispositif = engagement.Dispositif, Modalite = engagement.Modalite, RaisonNonRealisable = engagement.RaisonNonRealisable, - Realisable = engagement.Realisable, - Realise = engagement.Realise, + EtatEngagement = engagement.EtatEngagement, Ep = await GetEpInformationDTOAsync(engagement.Ep) }; @@ -352,7 +332,7 @@ namespace EPAServeur.Services { EpInformationDTO epInformationDTO = new EpInformationDTO() { - Id = ep.Id, + Id = ep.IdEP, Type = ep.TypeEP.ToString(), Statut = ep.Statut.ToString(), DatePrevisionnelle = ep.DatePrevisionnelle, @@ -374,7 +354,7 @@ namespace EPAServeur.Services { EpInformationDTO epInformationDTO = new EpInformationDTO() { - Id = ep.Id, + Id = ep.IdEP, Type = ep.TypeEP.ToString(), Statut = ep.Statut.ToString(), DatePrevisionnelle = ep.DatePrevisionnelle, @@ -406,12 +386,11 @@ namespace EPAServeur.Services private Engagement SetEngagement(Engagement engagement, EngagementDTO engagementDTO) { engagement.Action = engagementDTO.Action; - engagement.DateLimite = engagementDTO.DatePrevisionnelle.Value; + engagement.DateLimite = engagementDTO.DateLimite.Value; engagement.Dispositif = engagementDTO.Dispositif; engagement.Modalite = engagementDTO.Modalite; engagement.RaisonNonRealisable = engagementDTO.RaisonNonRealisable; - engagement.Realisable = engagementDTO.Realisable; - engagement.Realise = engagementDTO.Realise; + engagement.EtatEngagement = engagementDTO.EtatEngagement; engagement.Ep = GetEp(engagementDTO.Ep); @@ -429,14 +408,14 @@ namespace EPAServeur.Services return null; // Traiter - Enum.TryParse(epInformationDTO.Type, out TypeChamp typeChamp); + Enum.TryParse(epInformationDTO.Type, out TypeEp typeEP); - Enum.TryParse(epInformationDTO.Statut, out StatutEP statutEP); + Enum.TryParse(epInformationDTO.Statut, out StatutEp statutEP); Ep ep = new Ep() { - Id = epInformationDTO.Id.Value, - TypeEP = typeChamp, + IdEP = epInformationDTO.Id.Value, + TypeEP = typeEP, Statut = statutEP, DatePrevisionnelle = epInformationDTO.DatePrevisionnelle.Value, Obligatoire = epInformationDTO.Obligatoire.Value,