- Ajout d'une fonction pour récupérer le rôle de l'utilisateur

- Clean du code
This commit is contained in:
BuzzLeclair 2025-03-15 20:35:59 +01:00
parent 40972cad0d
commit 00f09a98f0
5 changed files with 19 additions and 266 deletions

View File

@ -5,4 +5,5 @@ namespace ldap_cesi.Repository.Services;
public interface IRepositoryUtilisateur : IRepositoryBase<Utilisateur> public interface IRepositoryUtilisateur : IRepositoryBase<Utilisateur>
{ {
Task<Utilisateur> GetByEmailAsync(string email); Task<Utilisateur> GetByEmailAsync(string email);
Task<Utilisateur> GetByIdIncludeRoleAsync(int id);
} }

View File

@ -14,7 +14,14 @@ public class UtilisateurRepository : RepositoryBase<Utilisateur>, IRepositoryUti
public async Task<Utilisateur> GetByEmailAsync(string email) public async Task<Utilisateur> GetByEmailAsync(string email)
{ {
return await _context.Utilisateurs.Include(u => u.IdRoleNavigation) return await _context.Utilisateurs
.Include(u => u.IdRoleNavigation)
.FirstOrDefaultAsync(u => u.Email == email); .FirstOrDefaultAsync(u => u.Email == email);
} }
public async Task<Utilisateur> GetByIdIncludeRoleAsync(int id)
{
return await _context.Utilisateurs
.Include(u => u.IdRoleNavigation)
.FirstOrDefaultAsync(u => u.Id == id);
}
} }

View File

@ -22,135 +22,7 @@ public class ServiceService : ServiceBase<Service, ServiceDto, ServiceCreateDto,
return await DeleteWithDependencyCheck<Salarie>( return await DeleteWithDependencyCheck<Salarie>(
id, id,
salarie => salarie.IdServiceNavigation.Id == 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<IResponseDataModel<List<Service>>> GetAll()
// {
// var services = await _repositoryService.GetAllAsync();
// return new ResponseDataModel<List<Service>>
// {
// Success = true,
// Data = services,
// StatusCode = 200,
// };
// }
// public async Task<IResponseDataModel<Service>> GetById(int id)
// {
// var service = await _repositoryService.GetByIdAsync(id);
// return new ResponseDataModel<Service>
// {
// Success = true,
// Data = service,
// StatusCode = 200,
// };
// }
// public async Task<IResponseDataModel<string>> CreateService(ServiceCreateDto serviceCreateDto)
// {
// var validation = new ServiceCreateValidator();
// var result = validation.Validate(serviceCreateDto);
// if (!result.IsValid)
// {
// return new ResponseDataModel<string>
// {
// StatusCode = 400,
// Success = false,
// Message = "Données du service invalides: " + string.Join(", ", result.Errors)
// };
// }
// var service = _mapper.Map<Service>(serviceCreateDto);
// var response = await _repositoryService.AddAsync(service);
// return new ResponseDataModel<string>
// {
// StatusCode = 201,
// Success = true,
// Data = response.Id.ToString(),
// };
// }
// public async Task<IResponseDataModel<Service>> UpdateService(ServiceUpdateDto serviceUpdateDto)
// {
// var validation = new ServiceUpdateValidator();
// var result = validation.Validate(serviceUpdateDto);
// if (!result.IsValid)
// {
// return new ResponseDataModel<Service>
// {
// 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<Service>
// {
// Success = false,
// Message = "Service introuvable.",
// StatusCode = 404
// };
// }
// var service = _mapper.Map(serviceUpdateDto, serviceFind);
// var response = await _repositoryService.UpdateAsync(service);
// if (!response)
// {
// return new ResponseDataModel<Service>
// {
// StatusCode = 500,
// Success = false,
// Message = "Erreur lors de la mise à jour du service : " + string.Join(", ", result.Errors)
// };
// }
// return new ResponseDataModel<Service>
// {
// StatusCode = 200,
// Success = true,
// Data = service,
// };
// }
// public async Task<IResponseDataModel<string>> DeleteService(int idService)
// {
// if (idService == null)
// {
// return new ResponseDataModel<string>
// {
// StatusCode = 400,
// Success = false,
// Message = "Id manquant"
// };
// }
// var service = await _repositoryService.GetByIdAsync(idService);
// if (service == null)
// {
// return new ResponseDataModel<string>
// {
// Success = false,
// Message = "Service introuvable.",
// StatusCode = 404
// };
// }
// var response = await _repositoryService.DeleteAsync(service);
// if (!response)
// {
// return new ResponseDataModel<string>
// {
// StatusCode = 500,
// Success = false,
// Message = "Erreur durant la suppression du service"
// };
// }
// return new ResponseDataModel<string>
// {
// StatusCode = 200,
// Success = true,
// Data = service.Id.ToString(),
// };
// }
} }

View File

@ -14,146 +14,19 @@ public class SiteService : ServiceBase<Site, SiteDto, SiteCreateDto, SiteUpdateD
private readonly IRepositorySite _repositorySite; private readonly IRepositorySite _repositorySite;
public SiteService(IRepositorySite repositorySite, IMapper mapper, public SiteService(IRepositorySite repositorySite, IMapper mapper,
ILogger<SiteService> logger, SiteCreateValidator siteCreateValidator, SiteUpdateValidator siteUpdateValidator) ILogger<SiteService> logger, SiteCreateValidator siteCreateValidator, SiteUpdateValidator siteUpdateValidator)
: base(repositorySite, mapper, logger, siteCreateValidator, siteUpdateValidator ) : base(repositorySite, mapper, logger, siteCreateValidator, siteUpdateValidator)
{ {
_repositorySite = repositorySite; _repositorySite = repositorySite;
} }
public async Task<IResponseDataModel<string>> DeleteWithEntiteCheck(int id) public async Task<IResponseDataModel<string>> DeleteWithEntiteCheck(int id)
{ {
return await DeleteWithDependencyCheck<Salarie>( return await DeleteWithDependencyCheck<Salarie>(
id, id,
salarie => salarie.IdSiteNavigation.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<IResponseDataModel<List<Site>>> GetAll()
// {
// var sites = await _repositorySite.GetAllAsync();
// return new ResponseDataModel<List<Site>>
// {
// Success = true,
// Data = sites,
// StatusCode = 200,
// };
// }
//
// public async Task<IResponseDataModel<Site>> GetById(int id)
// {
// var site = await _repositorySite.GetByIdAsync(id);
// return new ResponseDataModel<Site>
// {
// Success = true,
// Data = site,
// StatusCode = 200,
// };
}
// public async Task<IResponseDataModel<string>> CreateSite(SiteCreateDto siteCreateDto)
// {
// var validation = new SiteCreateValidator();
// var result = validation.Validate(siteCreateDto);
// if (!result.IsValid)
// {
// return new ResponseDataModel<string>
// {
// StatusCode = 400,
// Success = false,
// Message = "Données du site invalides: " + string.Join(", ", result.Errors)
// };
// }
// var site = _mapper.Map<Site>(siteCreateDto);
// var response = await _repositorySite.AddAsync(site);
// return new ResponseDataModel<string>
// {
// StatusCode = 201,
// Success = true,
// Data = response.Id.ToString(),
// };
// }
//
// public async Task<IResponseDataModel<Site>> UpdateSite(SiteUpdateDto siteUpdate)
// {
// var validation = new SiteUpdateValidator();
// var result = validation.Validate(siteUpdate);
// if (!result.IsValid)
// {
// return new ResponseDataModel<Site>
// {
// 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<Site>
// {
// Success = false,
// Message = "Site introuvable.",
// StatusCode = 404
// };
// }
//
// var site = _mapper.Map(siteUpdate, siteFind);
// var response = await _repositorySite.UpdateAsync(site);
// if (!response)
// {
// return new ResponseDataModel<Site>
// {
// StatusCode = 500,
// Success = false,
// Message = "Erreur lors de la mise à jour du site : " + string.Join(", ", result.Errors)
// };
// }
// return new ResponseDataModel<Site>
// {
// StatusCode = 200,
// Success = true,
// Data = site,
// };
// }
//
// public async Task<IResponseDataModel<string>> DeleteSite(int id)
// {
// if (id == null)
// {
// return new ResponseDataModel<string>
// {
// StatusCode = 400,
// Success = false,
// Message = "Id manquant"
// };
// }
//
// var site = await _repositorySite.GetByIdAsync(id);
// if (site == null)
// {
// return new ResponseDataModel<string>
// {
// Success = false,
// Message = "Site introuvable.",
// StatusCode = 404
// };
// }
// var response = await _repositorySite.DeleteAsync(site);
// if (!response)
// {
// return new ResponseDataModel<string>
// {
// StatusCode = 500,
// Success = false,
// Message = "Erreur durant la suppression du site"
// };
// }
// return new ResponseDataModel<string>
// {
// StatusCode = 200,
// Success = true,
// Data = site.Id.ToString(),
// };
// }

View File

@ -34,7 +34,7 @@ public class UtilisateurService : IUtilisateurService
public async Task<IResponseDataModel<UtilisateurOutputDto>> GetById(int id) public async Task<IResponseDataModel<UtilisateurOutputDto>> GetById(int id)
{ {
var utililisateur = await _repositoryUtilisateur.GetByIdAsync(id); var utililisateur = await _repositoryUtilisateur.GetByIdIncludeRoleAsync(id);
var utilisateurOutput = _mapper.Map<UtilisateurOutputDto>(utililisateur); var utilisateurOutput = _mapper.Map<UtilisateurOutputDto>(utililisateur);
return new ResponseDataModel<UtilisateurOutputDto> return new ResponseDataModel<UtilisateurOutputDto>
{ {