- Endpoints fini..
This commit is contained in:
parent
37eca08753
commit
285063ebcd
@ -39,6 +39,18 @@ public class ServicesController : ControllerBase
|
||||
return result.Success ? Ok(result.Data) : BadRequest(result.Message);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Endpoint qui retourne le service et ses salariés correspondant à l'id en paramètre.
|
||||
/// </summary>
|
||||
/// <param name="id">L'ID du service.</param>
|
||||
/// <returns>Le service correspondant à l'ID, avec ses salariés</returns>
|
||||
[HttpGet("complete/{id}")]
|
||||
public async Task<IActionResult> GetServiceByIdWithSalaries(int id)
|
||||
{
|
||||
var result = await _serviceService.GetByIdWithRelations(id, s=>s.Salaries);
|
||||
return result.Success ? Ok(result.Data) : BadRequest(result.Message);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Endpoint qui crée un service.
|
||||
/// </summary>
|
||||
|
@ -43,6 +43,19 @@ public class SiteController : ControllerBase
|
||||
return result.Success ? Ok(result) : BadRequest(result);
|
||||
}
|
||||
|
||||
// GET: api/site/{id}
|
||||
/// <summary>
|
||||
/// Récupère un site et ses salariés spécifique par son identifiant.
|
||||
/// </summary>
|
||||
/// <param name="id">L'identifiant du site à récupérer.</param>
|
||||
/// <returns>Retourne le site et ses salariés</returns>
|
||||
[HttpGet("/complete/{id}")]
|
||||
public async Task<ActionResult> GetSiteWithClient(int id)
|
||||
{
|
||||
var result = await _siteService.GetByIdWithRelations(id, s => s.Salaries);
|
||||
return result.Success ? Ok(result) : BadRequest(result);
|
||||
}
|
||||
|
||||
// POST: api/site
|
||||
/// <summary>
|
||||
/// Crée un nouveau site.
|
||||
|
@ -1,3 +1,5 @@
|
||||
using ldap_cesi.DTOs.Outputs.Salarie;
|
||||
|
||||
namespace ldap_cesi.DTOs;
|
||||
|
||||
public class ServiceDto
|
||||
@ -5,4 +7,5 @@ public class ServiceDto
|
||||
public int Id { get; set; }
|
||||
|
||||
public string Nom { get; set; }
|
||||
public List<SalarieMinimalDto> Salaries { get; set; }
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
using ldap_cesi.DTOs.Outputs.Salarie;
|
||||
|
||||
namespace ldap_cesi.DTOs;
|
||||
|
||||
public class SiteDto
|
||||
@ -5,4 +7,5 @@ public class SiteDto
|
||||
public int Id { get; set; }
|
||||
|
||||
public string Ville { get; set; }
|
||||
public ICollection<SalarieMinimalDto> Salaries { get; set; }
|
||||
}
|
17
ldap-cesi/DTOs/Outputs/Salarie/SalarieMinimalDto.cs
Normal file
17
ldap-cesi/DTOs/Outputs/Salarie/SalarieMinimalDto.cs
Normal file
@ -0,0 +1,17 @@
|
||||
namespace ldap_cesi.DTOs.Outputs.Salarie;
|
||||
|
||||
public class SalarieMinimalDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
public string Nom { get; set; } = null!;
|
||||
|
||||
public string Prenom { get; set; } = null!;
|
||||
|
||||
public string TelephoneFixe { get; set; } = null!;
|
||||
|
||||
public string TelephonePortable { get; set; } = null!;
|
||||
|
||||
public string Email { get; set; } = null!;
|
||||
|
||||
}
|
@ -35,8 +35,10 @@ public class AutoMapperProfile : Profile
|
||||
.ForMember(dest => dest.Service, opt => opt.MapFrom(src => src.IdServiceNavigation))
|
||||
.ForMember(dest => dest.Site, opt => opt.MapFrom(src => src.IdSiteNavigation));
|
||||
CreateMap<Service, ServiceDto>();
|
||||
CreateMap<Site, SiteDto>();
|
||||
CreateMap<Site, SiteDto>()
|
||||
.ForMember(dest => dest.Salaries, opt => opt.MapFrom(src => src.Salaries));
|
||||
CreateMap<Salarie, SalarieListDto>();
|
||||
CreateMap<Salarie, SalarieMinimalDto>();
|
||||
CreateMap<Salarie, SalarieListDto>()
|
||||
.ForMember(dest => dest.Service, opt => opt.MapFrom(src => src.IdServiceNavigation.Nom))
|
||||
.ForMember(dest => dest.Site, opt => opt.MapFrom(src => src.IdSiteNavigation.Ville));
|
||||
|
@ -1,11 +1,11 @@
|
||||
using ldap_cesi.DTOs.Inputs.Service;
|
||||
using ldap_cesi.DTOs;
|
||||
using ldap_cesi.DTOs.Inputs.Site;
|
||||
using ldap_cesi.Entities;
|
||||
using ldap_cesi.Models;
|
||||
|
||||
namespace ldap_cesi.Services.Interfaces;
|
||||
|
||||
public interface ISiteService
|
||||
public interface ISiteService : IServiceBase<Site, SiteDto, SiteCreateDto, SiteUpdateDto>
|
||||
{
|
||||
Task<IResponseDataModel<List<Site>>> GetAll();
|
||||
Task<IResponseDataModel<Site>> GetById(int id);
|
||||
|
@ -1,4 +1,5 @@
|
||||
using AutoMapper;
|
||||
using ldap_cesi.DTOs;
|
||||
using ldap_cesi.DTOs.Inputs.Site;
|
||||
using ldap_cesi.Entities;
|
||||
using ldap_cesi.Models;
|
||||
@ -8,16 +9,16 @@ using ldap_cesi.Validator.Site;
|
||||
|
||||
namespace ldap_cesi.Services;
|
||||
|
||||
public class SiteService : ISiteService
|
||||
public class SiteService : ServiceBase<Site, SiteDto, SiteCreateDto, SiteUpdateDto>, ISiteService
|
||||
{
|
||||
|
||||
private readonly IRepositorySite _repositorySite;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public SiteService(IRepositorySite repositorySite, IMapper mapper)
|
||||
public SiteService(IRepositorySite repositorySite, IMapper mapper,
|
||||
ILogger<SiteService> logger, SiteCreateValidator siteCreateValidator, SiteUpdateValidator siteUpdateValidator)
|
||||
: base(repositorySite, mapper, logger, siteCreateValidator, siteUpdateValidator )
|
||||
{
|
||||
_repositorySite = repositorySite;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
public async Task<IResponseDataModel<List<Site>>> GetAll()
|
||||
|
Loading…
x
Reference in New Issue
Block a user