clean code + add interface

pull/4/head
Alexandre Ruiz 3 years ago
parent 24983a0fa0
commit 84e6c3b08c
  1. 11
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/AgenceController.cs
  2. 2
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BaseController.cs
  3. 12
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BusinessUnitController.cs
  4. 79
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs
  5. 11
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/FonctionController.cs
  6. 16
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/IBaseController.cs

@ -1,12 +1,11 @@
using espacecollab.backend.appservices; using espacecollab.backend.appservices;
using espacecollab.backend.appservices.dtos; using espacecollab.backend.appservices.dtos;
namespace espacecollab.backend.api.Controllers namespace espacecollab.backend.api.Controllers;
public class AgenceController : BaseController<AgenceApiDto>
{ {
public class AgenceController : BaseController<AgenceApiDto> public AgenceController(AgenceService agenceService) : base(agenceService)
{ {
public AgenceController(AgenceService agenceService) : base(agenceService)
{
}
} }
} }

@ -6,7 +6,7 @@ namespace espacecollab.backend.api.Controllers
{ {
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public abstract class BaseController<TO> : Controller where TO : class, IGenericIdApiDto public abstract class BaseController<TO> : Controller, IBaseController<TO> where TO : class, IGenericIdApiDto
{ {
protected IGenericsServices<TO> Services { get; } protected IGenericsServices<TO> Services { get; }

@ -1,13 +1,11 @@
using espacecollab.backend.appservices; using espacecollab.backend.appservices;
using espacecollab.backend.appservices.dtos; using espacecollab.backend.appservices.dtos;
using espacecollab.backend.infrastructure.sql.dtos;
namespace espacecollab.backend.api.Controllers namespace espacecollab.backend.api.Controllers;
public class BusinessUnitController : BaseController<BusinessUnitApiDto>
{ {
public class BusinessUnitController : BaseController<BusinessUnitApiDto> public BusinessUnitController(BusinessUnitService businessUnitService) : base(businessUnitService)
{ {
public BusinessUnitController(BusinessUnitService businessUnitService) : base(businessUnitService)
{
}
} }
} }

@ -2,47 +2,44 @@
using espacecollab.backend.appservices.dtos; using espacecollab.backend.appservices.dtos;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
namespace espacecollab.backend.api.Controllers namespace espacecollab.backend.api.Controllers;
public class CollaborateursController : BaseController<CollaborateurApiDto>
{ {
//[Route("api/[controller]")] private CollaborateursService CollaborateursServices { get; }
//[ApiController]
public class CollaborateursController : BaseController<CollaborateurApiDto> public CollaborateursController(CollaborateursService collaborateursServices) : base(collaborateursServices)
{
CollaborateursServices = collaborateursServices;
}
[HttpGet("businessunit/{businessUnitId:int:min(1)}")]
public ActionResult<IEnumerable<CollaborateurApiDto>> GetCollaborateursByBusinessUnit(uint businessUnitId)
{
IEnumerable<CollaborateurApiDto> collaborateurs = CollaborateursServices.GetCollaborateursByBusinessUnit(businessUnitId);
if (!collaborateurs.Any())
return NotFound();
return Ok(collaborateurs);
}
[HttpGet("referrer/{referrerId:int:min(1)}")]
public ActionResult<IEnumerable<CollaborateurApiDto>> GetCollaborateursByReferrer(uint referrerId)
{ {
private CollaborateursService CollaborateursServices { get; } IEnumerable<CollaborateurApiDto> collaborateurs = CollaborateursServices.GetCollaborateursByReferrer(referrerId);
if (!collaborateurs.Any())
public CollaborateursController(CollaborateursService collaborateursServices) : base(collaborateursServices) return NotFound();
{
CollaborateursServices = collaborateursServices; return Ok(collaborateurs);
} }
[HttpGet("businessunit/{businessUnitId:int:min(1)}")] [HttpGet("apsidemail/{apsideMail:minlength(1):regex(^\\S.*)}")]
public ActionResult<IEnumerable<CollaborateurApiDto>> GetCollaborateursByBusinessUnit(uint businessUnitId) public ActionResult<CollaborateurApiDto> GetCollaborateurByApsideMail(string apsideMail)
{ {
IEnumerable<CollaborateurApiDto> collaborateurs = CollaborateursServices.GetCollaborateursByBusinessUnit(businessUnitId); CollaborateurApiDto? collaborateur = CollaborateursServices.GetCollaborateurByApsideMail(apsideMail);
if (!collaborateurs.Any()) if (collaborateur == null)
return NotFound(); return NotFound();
return Ok(collaborateurs); return Ok(collaborateur);
}
[HttpGet("referrer/{referrerId:int:min(1)}")]
public ActionResult<IEnumerable<CollaborateurApiDto>> GetCollaborateursByReferrer(uint referrerId)
{
IEnumerable<CollaborateurApiDto> collaborateurs = CollaborateursServices.GetCollaborateursByReferrer(referrerId);
if (!collaborateurs.Any())
return NotFound();
return Ok(collaborateurs);
}
[HttpGet("apsidemail/{apsideMail:minlength(1):regex(^\\S.*)}")]
public ActionResult<CollaborateurApiDto> GetCollaborateurByApsideMail(string apsideMail)
{
CollaborateurApiDto? collaborateur = CollaborateursServices.GetCollaborateurByApsideMail(apsideMail);
if (collaborateur == null)
return NotFound();
return Ok(collaborateur);
}
} }
} }

@ -1,12 +1,11 @@
using espacecollab.backend.appservices; using espacecollab.backend.appservices;
using espacecollab.backend.appservices.dtos; using espacecollab.backend.appservices.dtos;
namespace espacecollab.backend.api.Controllers namespace espacecollab.backend.api.Controllers;
public class FonctionController : BaseController<FonctionApiDto>
{ {
public class FonctionController : BaseController<FonctionApiDto> public FonctionController(FonctionService fonctionService) : base(fonctionService)
{ {
public FonctionController(FonctionService fonctionService) : base(fonctionService)
{
}
} }
} }

@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Mvc;
namespace espacecollab.backend.api.Controllers;
public interface IBaseController<TO>
{
ActionResult<IEnumerable<TO>> GetAll();
ActionResult<TO> GetById(uint id);
ActionResult<TO> Add(TO apiDto);
ActionResult Delete(uint id);
ActionResult<TO> Update(uint id, TO apiDto);
}
Loading…
Cancel
Save