Ajout entité Fonction

pull/7/head
Clement FERRERE 3 years ago
parent fa4e6668ff
commit eba5a08fe8
  1. 12
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/FonctionsController.cs
  2. 2
      Collaborateur_Epa_Back/espacecollab.backend.api/Register.cs
  3. 8
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/FonctionApiDto.cs
  4. 15
      Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Mappers/FonctionMapper.cs
  5. 14
      Collaborateur_Epa_Back/espacecollab.backend.appservices/FonctionServices.cs
  6. 8
      Collaborateur_Epa_Back/espacecollab.backend.infrastructure.interfaces/IFonctionRepository.cs
  7. 6
      Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/FonctionSqlDto.cs
  8. 2
      Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql/MainDbContext.cs
  9. 11
      Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql/Repository/FonctionSqlRepository.cs

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

@ -15,6 +15,7 @@ internal static class Register
services.AddScoped<CollaborateursServices>();
services.AddScoped<AgenceServices>();
services.AddScoped<BusinessUnitServices>();
services.AddScoped<FonctionServices>();
if (contextOptions.LoadFake)
{
@ -27,6 +28,7 @@ internal static class Register
services.AddScoped<ICollaborateurRepository, CollaborateurSqlRepository>();
services.AddScoped<IAgenceRepository, AgenceSqlRepository>();
services.AddScoped<IBusinessUnitRepository, BusinessUnitSqlRepository>();
services.AddScoped<IFonctionRepository, FonctionSqlRepository>();
}
}
}

@ -0,0 +1,8 @@
using espacecollab.backend.appservices.dtos.Interfaces;
namespace espacecollab.backend.appservices.dtos;
public record FonctionApiDto(uint Id, string Intitule) : IGenericIdApiDto
{
public uint Id { get; set; } = Id;
}

@ -0,0 +1,15 @@
using espacecollab.backend.infrastructure.sql.dtos;
namespace espacecollab.backend.appservices.dtos.Mappers;
public static class FonctionMapper
{
public static FonctionApiDto ToApi(this FonctionSqlDto fonctionSqlDto)
{
return new FonctionApiDto((uint)fonctionSqlDto.Id, fonctionSqlDto.Intitule);
}
public static FonctionSqlDto ToSql(this FonctionApiDto fonctionApiDto)
{
return new FonctionSqlDto((int)fonctionApiDto.Id, fonctionApiDto.Intitule);
}
}

@ -0,0 +1,14 @@
using espacecollab.backend.appservices.dtos;
using espacecollab.backend.appservices.dtos.Mappers;
using espacecollab.backend.infrastructure.interfaces;
using espacecollab.backend.infrastructure.sql.dtos;
namespace espacecollab.backend.appservices;
public class FonctionServices : GenericsServices<FonctionSqlDto, FonctionApiDto>
{
public FonctionServices(IFonctionRepository fonctionRepository)
:base(fonctionRepository, FonctionMapper.ToApi, FonctionMapper.ToSql)
{
}
}

@ -0,0 +1,8 @@
using espacecollab.backend.infrastructure.sql.dtos;
namespace espacecollab.backend.infrastructure.interfaces
{
public interface IFonctionRepository : IGenericRepository<FonctionSqlDto>
{
}
}

@ -6,17 +6,17 @@ namespace espacecollab.backend.infrastructure.sql.dtos
public class FonctionSqlDto : IGenericIdSqlDto
{
public int Id { get; set; }
public string Name { get; set; }
public string Intitule { get; set; }
[ExcludeFromCodeCoverage]
private FonctionSqlDto()
{
}
public FonctionSqlDto(int id, string name)
public FonctionSqlDto(int id, string intitule)
{
Id = id;
Name = name;
Intitule = intitule;
}

@ -10,6 +10,7 @@ namespace espacecollab.backend.infrastructure.sql
private DbSet<CollaborateurSqlDto>? Collaborateur { get; set; }
private DbSet<AgenceSqlDto>? Agence { get; set; }
private DbSet<BusinessUnitSqlDto>? BusinessUnit { get; set; }
private DbSet<FonctionSqlDto>? Fonction { get; set; }
public MainDbContext(IOptions<SqlOption> sqlSettings)
{
@ -27,6 +28,7 @@ namespace espacecollab.backend.infrastructure.sql
{
modelBuilder.Entity<BusinessUnitSqlDto>().Property(p => p.Id).UseMySqlIdentityColumn();
modelBuilder.Entity<AgenceSqlDto>().Property(p => p.Id).UseMySqlIdentityColumn();
modelBuilder.Entity<FonctionSqlDto>().Property(p => p.Id).UseMySqlIdentityColumn();
modelBuilder.Entity<CollaborateurSqlDto>().Property(p=> p.Id).UseMySqlIdentityColumn();
modelBuilder
.Entity<CollaborateurSqlDto>()

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