From 00f09a98f0b5202ad20b88bb0297d378971efa5d Mon Sep 17 00:00:00 2001 From: BuzzLeclair Date: Sat, 15 Mar 2025 20:35:59 +0100 Subject: [PATCH] =?UTF-8?q?-=20Ajout=20d'une=20fonction=20pour=20r=C3=A9cu?= =?UTF-8?q?p=C3=A9rer=20le=20r=C3=B4le=20de=20l'utilisateur=20-=20Clean=20?= =?UTF-8?q?du=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Interfaces/IRepositoryUtilisateur.cs | 1 + .../Repositories/UtilisateurRepository.cs | 9 +- ldap-cesi/Services/ServiceService.cs | 130 +--------------- ldap-cesi/Services/SiteService.cs | 143 +----------------- ldap-cesi/Services/UtilisateurService.cs | 2 +- 5 files changed, 19 insertions(+), 266 deletions(-) diff --git a/ldap-cesi/Repositories/Interfaces/IRepositoryUtilisateur.cs b/ldap-cesi/Repositories/Interfaces/IRepositoryUtilisateur.cs index e05950f..dcecf23 100644 --- a/ldap-cesi/Repositories/Interfaces/IRepositoryUtilisateur.cs +++ b/ldap-cesi/Repositories/Interfaces/IRepositoryUtilisateur.cs @@ -5,4 +5,5 @@ namespace ldap_cesi.Repository.Services; public interface IRepositoryUtilisateur : IRepositoryBase { Task GetByEmailAsync(string email); + Task GetByIdIncludeRoleAsync(int id); } \ No newline at end of file diff --git a/ldap-cesi/Repositories/UtilisateurRepository.cs b/ldap-cesi/Repositories/UtilisateurRepository.cs index 0cf84cf..a86435c 100644 --- a/ldap-cesi/Repositories/UtilisateurRepository.cs +++ b/ldap-cesi/Repositories/UtilisateurRepository.cs @@ -14,7 +14,14 @@ public class UtilisateurRepository : RepositoryBase, IRepositoryUti public async Task GetByEmailAsync(string email) { - return await _context.Utilisateurs.Include(u => u.IdRoleNavigation) + return await _context.Utilisateurs + .Include(u => u.IdRoleNavigation) .FirstOrDefaultAsync(u => u.Email == email); } + public async Task GetByIdIncludeRoleAsync(int id) + { + return await _context.Utilisateurs + .Include(u => u.IdRoleNavigation) + .FirstOrDefaultAsync(u => u.Id == id); + } } \ No newline at end of file diff --git a/ldap-cesi/Services/ServiceService.cs b/ldap-cesi/Services/ServiceService.cs index b2dae4b..fd8de3a 100644 --- a/ldap-cesi/Services/ServiceService.cs +++ b/ldap-cesi/Services/ServiceService.cs @@ -22,135 +22,7 @@ public class ServiceService : ServiceBase( id, salarie => salarie.IdServiceNavigation.Id == id, - "Impossible de supprimer ce service car des salariés y sont affectés." + "il n'est pas possible de supprimer ce service car des salariés y sont liés" ); } - - // public async Task>> GetAll() - // { - // var services = await _repositoryService.GetAllAsync(); - // return new ResponseDataModel> - // { - // Success = true, - // Data = services, - // StatusCode = 200, - // }; - // } - - // public async Task> GetById(int id) - // { - // var service = await _repositoryService.GetByIdAsync(id); - // return new ResponseDataModel - // { - // Success = true, - // Data = service, - // StatusCode = 200, - // }; - // } - - // public async Task> CreateService(ServiceCreateDto serviceCreateDto) - // { - // var validation = new ServiceCreateValidator(); - // var result = validation.Validate(serviceCreateDto); - // if (!result.IsValid) - // { - // return new ResponseDataModel - // { - // StatusCode = 400, - // Success = false, - // Message = "Données du service invalides: " + string.Join(", ", result.Errors) - // }; - // } - // var service = _mapper.Map(serviceCreateDto); - // var response = await _repositoryService.AddAsync(service); - // return new ResponseDataModel - // { - // StatusCode = 201, - // Success = true, - // Data = response.Id.ToString(), - // }; - // } - - // public async Task> UpdateService(ServiceUpdateDto serviceUpdateDto) - // { - // var validation = new ServiceUpdateValidator(); - // var result = validation.Validate(serviceUpdateDto); - // if (!result.IsValid) - // { - // return new ResponseDataModel - // { - // StatusCode = 400, - // Success = false, - // Message = "Données du service invalides: " + string.Join(", ", result.Errors) - // }; - // } - // var serviceFind = await _repositoryService.GetByIdAsync(serviceUpdateDto.Id); - // if (serviceFind is null) - // { - // return new ResponseDataModel - // { - // Success = false, - // Message = "Service introuvable.", - // StatusCode = 404 - // }; - // } - - // var service = _mapper.Map(serviceUpdateDto, serviceFind); - // var response = await _repositoryService.UpdateAsync(service); - // if (!response) - // { - // return new ResponseDataModel - // { - // StatusCode = 500, - // Success = false, - // Message = "Erreur lors de la mise à jour du service : " + string.Join(", ", result.Errors) - // }; - // } - // return new ResponseDataModel - // { - // StatusCode = 200, - // Success = true, - // Data = service, - // }; - // } - - // public async Task> DeleteService(int idService) - // { - // if (idService == null) - // { - // return new ResponseDataModel - // { - // StatusCode = 400, - // Success = false, - // Message = "Id manquant" - // }; - // } - - // var service = await _repositoryService.GetByIdAsync(idService); - // if (service == null) - // { - // return new ResponseDataModel - // { - // Success = false, - // Message = "Service introuvable.", - // StatusCode = 404 - // }; - // } - // var response = await _repositoryService.DeleteAsync(service); - // if (!response) - // { - // return new ResponseDataModel - // { - // StatusCode = 500, - // Success = false, - // Message = "Erreur durant la suppression du service" - // }; - // } - // return new ResponseDataModel - // { - // StatusCode = 200, - // Success = true, - // Data = service.Id.ToString(), - // }; - // } } \ No newline at end of file diff --git a/ldap-cesi/Services/SiteService.cs b/ldap-cesi/Services/SiteService.cs index 441fd6e..f5c99dc 100644 --- a/ldap-cesi/Services/SiteService.cs +++ b/ldap-cesi/Services/SiteService.cs @@ -14,146 +14,19 @@ public class SiteService : ServiceBase logger, SiteCreateValidator siteCreateValidator, SiteUpdateValidator siteUpdateValidator) - : base(repositorySite, mapper, logger, siteCreateValidator, siteUpdateValidator ) - { + public SiteService(IRepositorySite repositorySite, IMapper mapper, + ILogger logger, SiteCreateValidator siteCreateValidator, SiteUpdateValidator siteUpdateValidator) + : base(repositorySite, mapper, logger, siteCreateValidator, siteUpdateValidator) + { _repositorySite = repositorySite; } + public async Task> DeleteWithEntiteCheck(int id) { return await DeleteWithDependencyCheck( - id, + id, salarie => salarie.IdSiteNavigation.Id == id, - "Impossible de supprimer ce site car des salariés y sont affectés." + "il n'est pas possible de supprimer ce site car des salariés y sont liés" ); } - - // public async Task>> GetAll() - // { - // var sites = await _repositorySite.GetAllAsync(); - // return new ResponseDataModel> - // { - // Success = true, - // Data = sites, - // StatusCode = 200, - // }; - // } - // - // public async Task> GetById(int id) - // { - // var site = await _repositorySite.GetByIdAsync(id); - // return new ResponseDataModel - // { - // Success = true, - // Data = site, - // StatusCode = 200, - // }; - } - - // public async Task> CreateSite(SiteCreateDto siteCreateDto) - // { - // var validation = new SiteCreateValidator(); - // var result = validation.Validate(siteCreateDto); - // if (!result.IsValid) - // { - // return new ResponseDataModel - // { - // StatusCode = 400, - // Success = false, - // Message = "Données du site invalides: " + string.Join(", ", result.Errors) - // }; - // } - // var site = _mapper.Map(siteCreateDto); - // var response = await _repositorySite.AddAsync(site); - // return new ResponseDataModel - // { - // StatusCode = 201, - // Success = true, - // Data = response.Id.ToString(), - // }; - // } - // - // public async Task> UpdateSite(SiteUpdateDto siteUpdate) - // { - // var validation = new SiteUpdateValidator(); - // var result = validation.Validate(siteUpdate); - // if (!result.IsValid) - // { - // return new ResponseDataModel - // { - // StatusCode = 400, - // Success = false, - // Message = "Données du site invalides: " + string.Join(", ", result.Errors) - // }; - // } - // - // var siteFind = await _repositorySite.GetByIdAsync(siteUpdate.Id); - // if (siteFind is null) - // { - // return new ResponseDataModel - // { - // Success = false, - // Message = "Site introuvable.", - // StatusCode = 404 - // }; - // } - // - // var site = _mapper.Map(siteUpdate, siteFind); - // var response = await _repositorySite.UpdateAsync(site); - // if (!response) - // { - // return new ResponseDataModel - // { - // StatusCode = 500, - // Success = false, - // Message = "Erreur lors de la mise à jour du site : " + string.Join(", ", result.Errors) - // }; - // } - // return new ResponseDataModel - // { - // StatusCode = 200, - // Success = true, - // Data = site, - // }; - // } - // - // public async Task> DeleteSite(int id) - // { - // if (id == null) - // { - // return new ResponseDataModel - // { - // StatusCode = 400, - // Success = false, - // Message = "Id manquant" - // }; - // } - // - // var site = await _repositorySite.GetByIdAsync(id); - // if (site == null) - // { - // return new ResponseDataModel - // { - // Success = false, - // Message = "Site introuvable.", - // StatusCode = 404 - // }; - // } - // var response = await _repositorySite.DeleteAsync(site); - // if (!response) - // { - // return new ResponseDataModel - // { - // StatusCode = 500, - // Success = false, - // Message = "Erreur durant la suppression du site" - // }; - // } - // return new ResponseDataModel - // { - // StatusCode = 200, - // Success = true, - // Data = site.Id.ToString(), - // }; - // } +} diff --git a/ldap-cesi/Services/UtilisateurService.cs b/ldap-cesi/Services/UtilisateurService.cs index 364b5f8..d18ff73 100644 --- a/ldap-cesi/Services/UtilisateurService.cs +++ b/ldap-cesi/Services/UtilisateurService.cs @@ -34,7 +34,7 @@ public class UtilisateurService : IUtilisateurService public async Task> GetById(int id) { - var utililisateur = await _repositoryUtilisateur.GetByIdAsync(id); + var utililisateur = await _repositoryUtilisateur.GetByIdIncludeRoleAsync(id); var utilisateurOutput = _mapper.Map(utililisateur); return new ResponseDataModel {