diff --git a/ApiCollaborateur/ReferentApi.cs b/ApiCollaborateur/ReferentApi.cs
index d36c4f1..c49c8f0 100644
--- a/ApiCollaborateur/ReferentApi.cs
+++ b/ApiCollaborateur/ReferentApi.cs
@@ -45,7 +45,7 @@ namespace IO.Swagger.ApiCollaborateur
/// ApiResponse of Referent
ApiResponse ChercherRefActuelCollabIdWithHttpInfo (Guid? collabId);
///
- /// rechercher le référent qui a le plus suivi
+ /// rechercher le référent actuel
///
///
/// rechercher le référent actuel du collaborateur à l'aide de son identifiant
@@ -56,7 +56,7 @@ namespace IO.Swagger.ApiCollaborateur
Referent ChercherRefActuelCollabMail (string mailApside);
///
- /// rechercher le référent qui a le plus suivi
+ /// rechercher le référent actuel
///
///
/// rechercher le référent actuel du collaborateur à l'aide de son identifiant
diff --git a/Services/NoteService.cs b/Services/NoteService.cs
index 8399e86..2e4783a 100644
--- a/Services/NoteService.cs
+++ b/Services/NoteService.cs
@@ -11,17 +11,34 @@ using System.Threading.Tasks;
namespace EPAServeur.Services
{
+ ///
+ /// Service permettant de gérer les notes (ajout, récupération, mise à jour, suppression)
+ ///
public class NoteService : INoteService
{
+ #region Variables
+ ///
+ /// API pour accéder aux données collaborateur en passant par le service collaborateur
+ ///
private readonly ICollaborateurService collaborateurService;
+ ///
+ /// Contexte pour interagir avec la base de données MySQL du serveur EP
+ ///
private readonly EpContext context;
-
+ #endregion
+ #region Constructeurs
public NoteService(ICollaborateurService _collaborateurService, EpContext _context)
{
collaborateurService = _collaborateurService;
context = _context;
}
+ #endregion
+ ///
+ /// Ajouter une nouvelle note dans la base de données
+ ///
+ /// La nouvelle note a ajouté en base
+ ///
public Note AjouterNote(DetailsNoteDTO nouvelleNote)
{
if (!IsDetailsNoteValide(nouvelleNote))
@@ -32,6 +49,18 @@ namespace EPAServeur.Services
return note;
}
+ #region Services
+ ///
+ /// Récupérer la liste des notes qu'un auteur a écrit sur un collaborateur
+ ///
+ /// Id de l'auteur des notes à récupérer
+ /// Id du collaborateur pour lesquelles les notes ont été écrites
+ /// Précise si la liste est trié dans l'ordre croissant ou décroissant
+ /// Numéro de la page qui est affiché du côté front
+ /// Nombre de notes à renvoyer
+ /// permet de récupérer les notes les informations du collaborateur ou le titre de la note contient le texte
+ /// Choisir l'attribut par lequel est trié la liste
+ /// Retour la liste des notes à afficher
public IEnumerable GetNotesByCollaborateur(Guid? idAuteur, Guid? idCollaborateur, bool? asc, int? numPage, int? parPage, string texte, string tri)
{
if (collaborateurService.GetProfilById(idAuteur) == null || collaborateurService.GetProfilById(idCollaborateur) == null)
@@ -46,11 +75,16 @@ namespace EPAServeur.Services
where n.IdAuteur == idAuteur && n.IdCollaborateur == idCollaborateur
select NoteToAffichageDTO(n, collaborateurService));
AffichageNoteDTO = (from a in AffichageNoteDTO
- where a.Collaborateur.ToLower().Contains(texte) || a.Titre.ToLower().Contains(texte)
+ where a.Titre.ToLower().Contains(texte)
select a).Skip(skip).Take(take);
return AffichageNoteDTO;
}
+ ///
+ /// Récupérer une note en fonction de son id
+ ///
+ /// Id de la note à récupérer
+ /// L'objet DTO de la note correspondant à l'id passé en paramètre
public DetailsNoteDTO GetNoteById(long? idNote)
{
Note note = context.Note.Find(idNote);
@@ -67,6 +101,16 @@ namespace EPAServeur.Services
throw new NotImplementedException();
}
+ ///
+ /// Récupérer la liste des notes qu'un auteur a écrit sur un collaborateur
+ ///
+ /// Id de l'auteur des notes à récupérer
+ /// Précise si la liste est trié dans l'ordre croissant ou décroissant
+ /// Numéro de la page qui est affiché du côté front
+ /// Nombre de notes à renvoyer
+ /// permet de récupérer les notes les informations du collaborateur ou le titre de la note contient le texte
+ /// Choisir l'attribut par lequel est trié la liste
+ /// Retour la liste des notes à afficher
public IEnumerable GetNotesByAuteur(Guid? idAuteur, bool? asc, int? numPage, int? parPage, string texte, string tri)
{
if (collaborateurService.GetCollaborateurById(idAuteur) == null)
@@ -93,6 +137,11 @@ namespace EPAServeur.Services
return AffichageNoteDTO;
}
+ ///
+ /// Supprimer une note en fonction de son Id
+ ///
+ /// Id de la note à supprimer
+ /// Si oui ou non la notea bien été supprimé
public bool SupprimerNote(long? idNote)
{
Note note = context.Note.Find(idNote);
@@ -103,12 +152,18 @@ namespace EPAServeur.Services
return true;
}
+ ///
+ /// Mettre à jour une note
+ ///
+ /// Id de la note à modifier
+ ///
+ ///
public Note UpdateNote(long? idNote, DetailsNoteDTO note)
{
if (!IsDetailsNoteValide(note))
return null;
Note noteToUpdate = context.Note.Find(idNote);
- if (noteToUpdate == null)
+ if (noteToUpdate == null || note.Id != noteToUpdate.Id )
return AjouterNote(note);
noteToUpdate.Titre = note.Titre;
noteToUpdate.Texte = note.Texte;
@@ -117,13 +172,26 @@ namespace EPAServeur.Services
return noteToUpdate;
}
-
+ ///
+ /// Vérifier si un objet DetailsNoteDTO possède est valide pour ajout ou mise à jour
+ ///
+ /// Un objet DetailsNoteDTO est valide si aucune de ses propriétés n'est à null
+ ///
+ /// true si l'objet est valide, false sinon
private bool IsDetailsNoteValide(DetailsNoteDTO note)
{
return !(note == null || note.IdAuteur == null || note.Collaborateur == null || note.Collaborateur.Id == null || note.Titre == null || note.Texte == null) ;
}
+ #endregion
+
- //Object to DTO
+ #region ObjectToDTO
+ ///
+ /// Transformer un objet note en objet pour afficher un note dans dans un tableau
+ ///
+ /// Note à transformer
+ /// Service collaborateur pour récupérer les informations des collaborateurs
+ /// La note transformée pour être affichée
private static AffichageNoteDTO NoteToAffichageDTO(Note note, ICollaborateurService collaborateurService)
{
CollaborateurDTO collaborateur = collaborateurService.GetCollaborateurById(note.IdCollaborateur);
@@ -138,6 +206,11 @@ namespace EPAServeur.Services
return affichage;
}
+ ///
+ /// Transformatino d'une note en DetailsNoteDTO
+ ///
+ /// Note à transformer
+ /// Note transformer en DetailsNoteDTO
private DetailsNoteDTO NoteToDetailSDTO(Note note)
{
DetailsNoteDTO details = new DetailsNoteDTO()
@@ -152,8 +225,15 @@ namespace EPAServeur.Services
};
return details;
}
+ #endregion
- //DTO to Object
+ #region DTOToObject
+ ///
+ /// Transformer l'objet DTO d'une note en note
+ ///
+ /// En général, de base, cette méthode est prévue pour être utilisée qu'à la création d'une nouvelle note, dateCreation et dateUpdate sont donc initialisée à ce moment là
+ /// Objet DTO à transformer en note
+ /// L'objet DTO transformé en note
private Note DetailsNoteDTOToNouvelleNote(DetailsNoteDTO detailsNoteDTO)
{
Note note = new Note()
@@ -167,5 +247,6 @@ namespace EPAServeur.Services
};
return note;
}
+ #endregion
}
}