MAJ du service Engagement en fonction du modèle à jour

develop
jboinembalome 4 years ago
parent a6d33450de
commit 811d2aabd5
  1. 89
      EPAServeur/DTO/EngagementDTO.cs
  2. 12
      EPAServeur/IServices/IEngagementService.cs
  3. 105
      EPAServeur/Services/EngagementService.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
{
/// <summary>
/// Les détails d&#x27;un engagement pris par un référent pour un EP
/// DTO concernant les engagements pris par le référent lors de l&#x27;EP.
/// </summary>
[DataContract]
public partial class EngagementDTO : IEquatable<EngagementDTO>
{
/// <summary>
/// Gets or Sets Id
/// Id de l&#x27;engagement
/// </summary>
/// <value>Id de l&#x27;engagement</value>
[Required]
[DataMember(Name="id")]
public long? Id { get; set; }
/// <summary>
/// Gets or Sets Action
/// Action de l&#x27;engagement
/// </summary>
/// <value>Action de l&#x27;engagement</value>
[Required]
[DataMember(Name="action")]
public string Action { get; set; }
/// <summary>
/// Gets or Sets Modalite
/// </summary>
[Required]
[DataMember(Name="modalite")]
public string Modalite { get; set; }
/// <summary>
/// Gets or Sets Dispositif
/// Dispositif à mettre en place pour respecter l&#x27;engagement dans les temps
/// </summary>
/// <value>Dispositif à mettre en place pour respecter l&#x27;engagement dans les temps</value>
[Required]
[DataMember(Name="dispositif")]
public string Dispositif { get; set; }
/// <summary>
/// Gets or Sets DatePrevisionnelle
/// ”Sur temps de travail” ou ”Hors-temps”
/// </summary>
/// <value>”Sur temps de travail” ou ”Hors-temps”</value>
[Required]
[DataMember(Name="datePrevisionnelle")]
public DateTime? DatePrevisionnelle { get; set; }
[DataMember(Name="modalite")]
public string Modalite { get; set; }
/// <summary>
/// Gets or Sets Realisable
/// Date limite pour respecter l&#x27;engagement
/// </summary>
[DataMember(Name="realisable")]
public bool? Realisable { get; set; }
/// <value>Date limite pour respecter l&#x27;engagement</value>
[Required]
[DataMember(Name="dateLimite")]
public DateTime? DateLimite { get; set; }
/// <summary>
/// Gets or Sets Realise
/// Gets or Sets EtatEngagement
/// </summary>
[DataMember(Name="realise")]
public bool? Realise { get; set; }
[DataMember(Name="etatEngagement")]
public EtatEngagement EtatEngagement { get; set; }
/// <summary>
/// Gets or Sets RaisonNonRealisable
/// Raison pour laquelle l&#x27;engagement ne sera pas respecté
/// </summary>
/// <value>Raison pour laquelle l&#x27;engagement ne sera pas respecté</value>
[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)

@ -11,12 +11,12 @@ namespace EPAServeur.IServices
public interface IEngagementService
{
IEnumerable<EngagementDTO> GetEngagements(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri);
Task<IEnumerable<EngagementDTO>> GetEngagementsAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri);
IEnumerable<EngagementDTO> GetEngagementsEnAttente(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri);
Task<IEnumerable<EngagementDTO>> GetEngagementsEnAttenteAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri);
IEnumerable<EngagementDTO> GetEngagementsRepondus(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri);
Task<IEnumerable<EngagementDTO>> GetEngagementsRepondusAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri);
IEnumerable<EngagementDTO> GetEngagements(bool? asc, int? numPage, int? parPAge, string texte, string tri);
Task<IEnumerable<EngagementDTO>> GetEngagementsAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri);
IEnumerable<EngagementDTO> GetEngagementsEnAttente(bool? asc, int? numPage, int? parPAge, string texte, string tri);
Task<IEnumerable<EngagementDTO>> GetEngagementsEnAttenteAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri);
IEnumerable<EngagementDTO> GetEngagementsRepondus(bool? asc, int? numPage, int? parPAge, string texte, string tri);
Task<IEnumerable<EngagementDTO>> GetEngagementsRepondusAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri);
EngagementDTO RepondreEngagement(EngagementDTO engagement, long? idEngagement);
Task<EngagementDTO> RepondreEngagementAsync(EngagementDTO engagement, long? idEngagement);

@ -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<EngagementDTO> GetEngagements(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri)
public IEnumerable<EngagementDTO> GetEngagements(bool? asc, int? numPage, int? parPAge, string texte, string tri)
{
IEnumerable<Engagement> 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<EngagementDTO>();
@ -66,7 +64,7 @@ namespace EPAServeur.Services
return engagementDTOs;
}
public async Task<IEnumerable<EngagementDTO>> GetEngagementsAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri)
public async Task<IEnumerable<EngagementDTO>> GetEngagementsAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri)
{
IEnumerable<Engagement> 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<EngagementDTO>();
@ -92,7 +87,7 @@ namespace EPAServeur.Services
return results;
}
public IEnumerable<EngagementDTO> GetEngagementsEnAttente(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri)
public IEnumerable<EngagementDTO> GetEngagementsEnAttente(bool? asc, int? numPage, int? parPAge, string texte, string tri)
{
IEnumerable<Engagement> 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<EngagementDTO>();
@ -117,7 +109,7 @@ namespace EPAServeur.Services
return engagementDTOs;
}
public async Task<IEnumerable<EngagementDTO>> GetEngagementsEnAttenteAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri)
public async Task<IEnumerable<EngagementDTO>> GetEngagementsEnAttenteAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri)
{
IEnumerable<Engagement> 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<EngagementDTO>();
@ -143,7 +132,7 @@ namespace EPAServeur.Services
return results;
}
public IEnumerable<EngagementDTO> GetEngagementsRepondus(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri)
public IEnumerable<EngagementDTO> GetEngagementsRepondus(bool? asc, int? numPage, int? parPAge, string texte, string tri)
{
IEnumerable<Engagement> 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<EngagementDTO>();
@ -168,7 +154,7 @@ namespace EPAServeur.Services
return engagementDTOs;
}
public async Task<IEnumerable<EngagementDTO>> GetEngagementsRepondusAsync(bool? asc, int? numPage, int? parPAge, long? idAgence, string texte, string tri)
public async Task<IEnumerable<EngagementDTO>> GetEngagementsRepondusAsync(bool? asc, int? numPage, int? parPAge, string texte, string tri)
{
IEnumerable<Engagement> 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<EngagementDTO>();
@ -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,

Loading…
Cancel
Save