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();
}
[HttpPut("{collaborateurId:int:min(1)}")]
[HttpPut("{id:int:min(1)}")]
public ActionResult<TO> Update(uint id, TO apiDto)
{
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]
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;
}

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

@ -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
{

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

@ -1,4 +1,4 @@
namespace espacecollab.backend.appservices.dtos
namespace espacecollab.backend.appservices.dtos.Values
{
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
{
public class CollaborateursServices : GenericsServices<CollaborateurSqlDto, CollaborateurApiDto>
public class CollaborateursService : GenericsServices<CollaborateurSqlDto, CollaborateurApiDto>
{
private ICollaborateurRepository CollaborateurRepository { get; }
public CollaborateursServices(ICollaborateurRepository collaborateurRepository)
public CollaborateursService(ICollaborateurRepository collaborateurRepository)
: base(collaborateurRepository, CollaborateurMapper.ToApi, CollaborateurMapper.ToSql)
{
CollaborateurRepository = collaborateurRepository;

@ -48,9 +48,8 @@ namespace espacecollab.backend.appservices
public TO? Update(TO apiDto)
{
if (GetById(apiDto.Id) == null)
{
return null;
}
T sqlDto = MapperToSqlDto(apiDto);
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
{
protected List<T> Context { get; set; }
protected List<T> Context { get; set; } = new();
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