From 84e6c3b08ca1b6dc6e36bafa8afad162f1a0a924 Mon Sep 17 00:00:00 2001 From: Alexandre Ruiz Date: Tue, 4 Jan 2022 14:27:40 +0100 Subject: [PATCH] clean code + add interface --- .../Controllers/AgenceController.cs | 11 ++- .../Controllers/BaseController.cs | 2 +- .../Controllers/BusinessUnitController.cs | 12 ++- .../Controllers/CollaborateursController.cs | 79 +++++++++---------- .../Controllers/FonctionController.cs | 11 ++- .../Controllers/IBaseController.cs | 16 ++++ 6 files changed, 70 insertions(+), 61 deletions(-) create mode 100644 Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/IBaseController.cs diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/AgenceController.cs b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/AgenceController.cs index dc96075..d609273 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/AgenceController.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/AgenceController.cs @@ -1,12 +1,11 @@ using espacecollab.backend.appservices; using espacecollab.backend.appservices.dtos; -namespace espacecollab.backend.api.Controllers +namespace espacecollab.backend.api.Controllers; + +public class AgenceController : BaseController { - public class AgenceController : BaseController + public AgenceController(AgenceService agenceService) : base(agenceService) { - public AgenceController(AgenceService agenceService) : base(agenceService) - { - } } -} +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BaseController.cs b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BaseController.cs index 9fcc857..1a1589b 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BaseController.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BaseController.cs @@ -6,7 +6,7 @@ namespace espacecollab.backend.api.Controllers { [Route("api/[controller]")] [ApiController] - public abstract class BaseController : Controller where TO : class, IGenericIdApiDto + public abstract class BaseController : Controller, IBaseController where TO : class, IGenericIdApiDto { protected IGenericsServices Services { get; } diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BusinessUnitController.cs b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BusinessUnitController.cs index 5df82b5..26f5d2d 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BusinessUnitController.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BusinessUnitController.cs @@ -1,13 +1,11 @@ using espacecollab.backend.appservices; 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 { - public class BusinessUnitController : BaseController + public BusinessUnitController(BusinessUnitService businessUnitService) : base(businessUnitService) { - public BusinessUnitController(BusinessUnitService businessUnitService) : base(businessUnitService) - { - } } -} +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs index 13cc349..3b8af84 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs @@ -2,47 +2,44 @@ using espacecollab.backend.appservices.dtos; using Microsoft.AspNetCore.Mvc; -namespace espacecollab.backend.api.Controllers +namespace espacecollab.backend.api.Controllers; + +public class CollaborateursController : BaseController { - //[Route("api/[controller]")] - //[ApiController] - public class CollaborateursController : BaseController + private CollaborateursService CollaborateursServices { get; } + + public CollaborateursController(CollaborateursService collaborateursServices) : base(collaborateursServices) + { + CollaborateursServices = collaborateursServices; + } + + [HttpGet("businessunit/{businessUnitId:int:min(1)}")] + public ActionResult> GetCollaborateursByBusinessUnit(uint businessUnitId) + { + IEnumerable collaborateurs = CollaborateursServices.GetCollaborateursByBusinessUnit(businessUnitId); + if (!collaborateurs.Any()) + return NotFound(); + + return Ok(collaborateurs); + } + + [HttpGet("referrer/{referrerId:int:min(1)}")] + public ActionResult> GetCollaborateursByReferrer(uint referrerId) { - private CollaborateursService CollaborateursServices { get; } - - public CollaborateursController(CollaborateursService collaborateursServices) : base(collaborateursServices) - { - CollaborateursServices = collaborateursServices; - } - - [HttpGet("businessunit/{businessUnitId:int:min(1)}")] - public ActionResult> GetCollaborateursByBusinessUnit(uint businessUnitId) - { - IEnumerable collaborateurs = CollaborateursServices.GetCollaborateursByBusinessUnit(businessUnitId); - if (!collaborateurs.Any()) - return NotFound(); - - return Ok(collaborateurs); - } - - [HttpGet("referrer/{referrerId:int:min(1)}")] - public ActionResult> GetCollaborateursByReferrer(uint referrerId) - { - IEnumerable collaborateurs = CollaborateursServices.GetCollaborateursByReferrer(referrerId); - if (!collaborateurs.Any()) - return NotFound(); - - return Ok(collaborateurs); - } - - [HttpGet("apsidemail/{apsideMail:minlength(1):regex(^\\S.*)}")] - public ActionResult GetCollaborateurByApsideMail(string apsideMail) - { - CollaborateurApiDto? collaborateur = CollaborateursServices.GetCollaborateurByApsideMail(apsideMail); - if (collaborateur == null) - return NotFound(); - - return Ok(collaborateur); - } + IEnumerable collaborateurs = CollaborateursServices.GetCollaborateursByReferrer(referrerId); + if (!collaborateurs.Any()) + return NotFound(); + + return Ok(collaborateurs); + } + + [HttpGet("apsidemail/{apsideMail:minlength(1):regex(^\\S.*)}")] + public ActionResult GetCollaborateurByApsideMail(string apsideMail) + { + CollaborateurApiDto? collaborateur = CollaborateursServices.GetCollaborateurByApsideMail(apsideMail); + if (collaborateur == null) + return NotFound(); + + return Ok(collaborateur); } -} +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/FonctionController.cs b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/FonctionController.cs index 98397de..1395011 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/FonctionController.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/FonctionController.cs @@ -1,12 +1,11 @@ using espacecollab.backend.appservices; using espacecollab.backend.appservices.dtos; -namespace espacecollab.backend.api.Controllers +namespace espacecollab.backend.api.Controllers; + +public class FonctionController : BaseController { - public class FonctionController : BaseController + public FonctionController(FonctionService fonctionService) : base(fonctionService) { - public FonctionController(FonctionService fonctionService) : base(fonctionService) - { - } } -} +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/IBaseController.cs b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/IBaseController.cs new file mode 100644 index 0000000..7811bb5 --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/IBaseController.cs @@ -0,0 +1,16 @@ +using Microsoft.AspNetCore.Mvc; + +namespace espacecollab.backend.api.Controllers; + +public interface IBaseController +{ + ActionResult> GetAll(); + + ActionResult GetById(uint id); + + ActionResult Add(TO apiDto); + + ActionResult Delete(uint id); + + ActionResult Update(uint id, TO apiDto); +} \ No newline at end of file