refacto + business unit

pull/4/head
Alexandre Ruiz 3 years ago
parent 5be72f3930
commit 61d64beaea
  1. 2
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BaseController.cs
  2. 12
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/BusinessUnitController.cs
  3. 4
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs
  4. 5
      Collaborateur_Epa_Back/espacecollab.backend.api/Register.cs
  5. 9
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/BusinessUnitApiDto.cs
  6. 1
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/CollaborateurApiDto.cs
  7. 0
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Interfaces/IGenericIdApiDto.cs
  8. 15
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Mappers/BusinessUnitMapper.cs
  9. 3
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Mappers/EnumGenreMapper.cs
  10. 3
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Mappers/EnumStatutMapper.cs
  11. 2
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Values/EnumGenreApi.cs
  12. 2
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Values/EnumStatutApi.cs
  13. 13
      Collaborateur_Epa_Back/espacecollab.backend.appservices/BusinessUnitService.cs
  14. 4
      Collaborateur_Epa_Back/espacecollab.backend.appservices/CollaborateursService.cs
  15. 3
      Collaborateur_Epa_Back/espacecollab.backend.appservices/GenericsServices.cs
  16. 18
      Collaborateur_Epa_Back/espacecollab.backend.infrastructure.fake/FakeBusinessUnitRepository.cs
  17. 2
      Collaborateur_Epa_Back/espacecollab.backend.infrastructure.fake/GenericFakeRepository.cs
  18. 11
      Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql/Repository/BusinessUnitSqlRepository.cs

@ -51,7 +51,7 @@ namespace espacecollab.backend.api.Controllers
return Ok(); return Ok();
} }
[HttpPut("{collaborateurId:int:min(1)}")] [HttpPut("{id:int:min(1)}")]
public ActionResult<TO> Update(uint id, TO apiDto) public ActionResult<TO> Update(uint id, TO apiDto)
{ {
if (apiDto.Id != id) if (apiDto.Id != id)

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

@ -8,9 +8,9 @@ namespace espacecollab.backend.api.Controllers
//[ApiController] //[ApiController]
public class CollaborateursController : BaseController<CollaborateurApiDto> public class CollaborateursController : BaseController<CollaborateurApiDto>
{ {
private CollaborateursServices CollaborateursServices { get; } private CollaborateursService CollaborateursServices { get; }
public CollaborateursController(CollaborateursServices collaborateursServices) : base(collaborateursServices) public CollaborateursController(CollaborateursService collaborateursServices) : base(collaborateursServices)
{ {
CollaborateursServices = collaborateursServices; CollaborateursServices = collaborateursServices;
} }

@ -11,19 +11,22 @@ internal static class Register
{ {
public static void InjectDependencies(IServiceCollection services, SqlOption contextOptions) public static void InjectDependencies(IServiceCollection services, SqlOption contextOptions)
{ {
services.AddScoped<CollaborateursServices>(); services.AddScoped<CollaborateursService>();
services.AddScoped<AgenceService>(); services.AddScoped<AgenceService>();
services.AddScoped<BusinessUnitService>();
if (contextOptions.LoadFake) if (contextOptions.LoadFake)
{ {
services.AddSingleton<ICollaborateurRepository, FakeCollaborateurRepository>(); services.AddSingleton<ICollaborateurRepository, FakeCollaborateurRepository>();
services.AddSingleton<IAgenceRepository, FakeAgenceRepository>(); services.AddSingleton<IAgenceRepository, FakeAgenceRepository>();
services.AddSingleton<IBusinessUnitRepository, FakeBusinessUnitRepository>();
} }
else else
{ {
services.AddScoped<MainDbContext>(); services.AddScoped<MainDbContext>();
services.AddScoped<ICollaborateurRepository, CollaborateurSqlRepository>(); services.AddScoped<ICollaborateurRepository, CollaborateurSqlRepository>();
services.AddScoped<IAgenceRepository, AgenceSqlRepository>(); services.AddScoped<IAgenceRepository, AgenceSqlRepository>();
services.AddScoped<IBusinessUnitRepository, BusinessUnitSqlRepository>();
} }
} }
} }

@ -0,0 +1,9 @@
using espacecollab.backend.appservices.dtos.Interfaces;
namespace espacecollab.backend.infrastructure.sql.dtos
{
public record BusinessUnitApiDto(uint Id, string Name, uint AgenceId) : IGenericIdApiDto
{
public uint Id { get; set; } = Id;
}
}

@ -1,4 +1,5 @@
using espacecollab.backend.appservices.dtos.Interfaces; using espacecollab.backend.appservices.dtos.Interfaces;
using espacecollab.backend.appservices.dtos.Values;
namespace espacecollab.backend.appservices.dtos namespace espacecollab.backend.appservices.dtos
{ {

@ -0,0 +1,15 @@
using espacecollab.backend.infrastructure.sql.dtos;
namespace espacecollab.backend.appservices.dtos.Mappers;
public static class BusinessUnitMapper
{
public static BusinessUnitApiDto ToApi(this BusinessUnitSqlDto businessUnitSqlDto)
{
return new BusinessUnitApiDto((uint)businessUnitSqlDto.Id, businessUnitSqlDto.Name, (uint)businessUnitSqlDto.AgenceId);
}
public static BusinessUnitSqlDto ToSql(this BusinessUnitApiDto businessUnitApiDto)
{
return new BusinessUnitSqlDto((int)businessUnitApiDto.Id, businessUnitApiDto.Name, (int)businessUnitApiDto.AgenceId);
}
}

@ -1,4 +1,5 @@
using espacecollab.backend.infrastructure.sql.dtos.Values; using espacecollab.backend.appservices.dtos.Values;
using espacecollab.backend.infrastructure.sql.dtos.Values;
namespace espacecollab.backend.appservices.dtos.Mappers namespace espacecollab.backend.appservices.dtos.Mappers
{ {

@ -1,4 +1,5 @@
using espacecollab.backend.infrastructure.sql.dtos.Values; using espacecollab.backend.appservices.dtos.Values;
using espacecollab.backend.infrastructure.sql.dtos.Values;
namespace espacecollab.backend.appservices.dtos.Mappers namespace espacecollab.backend.appservices.dtos.Mappers
{ {

@ -1,4 +1,4 @@
namespace espacecollab.backend.appservices.dtos namespace espacecollab.backend.appservices.dtos.Values
{ {
public enum EnumGenreApi public enum EnumGenreApi
{ {

@ -1,4 +1,4 @@
namespace espacecollab.backend.appservices.dtos namespace espacecollab.backend.appservices.dtos.Values
{ {
public enum EnumStatutApi public enum EnumStatutApi
{ {

@ -0,0 +1,13 @@
using espacecollab.backend.appservices.dtos.Mappers;
using espacecollab.backend.infrastructure.interfaces;
using espacecollab.backend.infrastructure.sql.dtos;
namespace espacecollab.backend.appservices;
public class BusinessUnitService : GenericsServices<BusinessUnitSqlDto, BusinessUnitApiDto>
{
public BusinessUnitService(IBusinessUnitRepository genericRepository)
: base(genericRepository, BusinessUnitMapper.ToApi, BusinessUnitMapper.ToSql)
{
}
}

@ -5,11 +5,11 @@ using espacecollab.backend.infrastructure.sql.dtos;
namespace espacecollab.backend.appservices namespace espacecollab.backend.appservices
{ {
public class CollaborateursServices : GenericsServices<CollaborateurSqlDto, CollaborateurApiDto> public class CollaborateursService : GenericsServices<CollaborateurSqlDto, CollaborateurApiDto>
{ {
private ICollaborateurRepository CollaborateurRepository { get; } private ICollaborateurRepository CollaborateurRepository { get; }
public CollaborateursServices(ICollaborateurRepository collaborateurRepository) public CollaborateursService(ICollaborateurRepository collaborateurRepository)
: base(collaborateurRepository, CollaborateurMapper.ToApi, CollaborateurMapper.ToSql) : base(collaborateurRepository, CollaborateurMapper.ToApi, CollaborateurMapper.ToSql)
{ {
CollaborateurRepository = collaborateurRepository; CollaborateurRepository = collaborateurRepository;

@ -48,9 +48,8 @@ namespace espacecollab.backend.appservices
public TO? Update(TO apiDto) public TO? Update(TO apiDto)
{ {
if (GetById(apiDto.Id) == null) if (GetById(apiDto.Id) == null)
{
return null; return null;
}
T sqlDto = MapperToSqlDto(apiDto); T sqlDto = MapperToSqlDto(apiDto);
T? sqlDtoValidation = GenericRepository.Update(sqlDto); T? sqlDtoValidation = GenericRepository.Update(sqlDto);

@ -0,0 +1,18 @@
using espacecollab.backend.infrastructure.interfaces;
using espacecollab.backend.infrastructure.sql.dtos;
namespace espacecollab.backend.infrastructure.fake
{
public class FakeBusinessUnitRepository : GenericFakeRepository<BusinessUnitSqlDto>, IBusinessUnitRepository
{
public FakeBusinessUnitRepository()
{
Context = new List<BusinessUnitSqlDto>
{
new(1, "BU 1", 1),
new(2, "BU 2", 1)
};
}
}
}

@ -5,7 +5,7 @@ namespace espacecollab.backend.infrastructure.fake
{ {
public class GenericFakeRepository<T> : IGenericRepository<T> where T : class, IGenericIdSqlDto public class GenericFakeRepository<T> : IGenericRepository<T> where T : class, IGenericIdSqlDto
{ {
protected List<T> Context { get; set; } protected List<T> Context { get; set; } = new();
public virtual T? Add(T entity) public virtual T? Add(T entity)
{ {

@ -0,0 +1,11 @@
using espacecollab.backend.infrastructure.interfaces;
using espacecollab.backend.infrastructure.sql.dtos;
namespace espacecollab.backend.infrastructure.sql.Repository;
public class BusinessUnitSqlRepository : GenericSqlRepository<BusinessUnitSqlDto>, IBusinessUnitRepository
{
public BusinessUnitSqlRepository(MainDbContext context) : base(context)
{
}
}
Loading…
Cancel
Save