diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/FonctionController.cs b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/FonctionController.cs new file mode 100644 index 0000000..98397de --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/FonctionController.cs @@ -0,0 +1,12 @@ +using espacecollab.backend.appservices; +using espacecollab.backend.appservices.dtos; + +namespace espacecollab.backend.api.Controllers +{ + public class FonctionController : BaseController + { + public FonctionController(FonctionService fonctionService) : base(fonctionService) + { + } + } +} diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api/Register.cs b/Collaborateur_Epa_Back/espacecollab.backend.api/Register.cs index 412442c..7460362 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.api/Register.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.api/Register.cs @@ -14,12 +14,14 @@ internal static class Register services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); if (contextOptions.LoadFake) { services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); + services.AddSingleton(); } else { @@ -27,6 +29,7 @@ internal static class Register services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); } } } \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/FonctionApiDto.cs b/Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/FonctionApiDto.cs new file mode 100644 index 0000000..06f0e76 --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/FonctionApiDto.cs @@ -0,0 +1,8 @@ +using espacecollab.backend.appservices.dtos.Interfaces; + +namespace espacecollab.backend.appservices.dtos; + +public record FonctionApiDto(uint Id, string Name) : IGenericIdApiDto +{ + public uint Id { get; set; } = Id; +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Mappers/FonctionMapper.cs b/Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Mappers/FonctionMapper.cs new file mode 100644 index 0000000..88fe1e5 --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.appservices.dtos/Mappers/FonctionMapper.cs @@ -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.Name); + } + public static FonctionSqlDto ToSql(this FonctionApiDto fonctionApiDto) + { + return new FonctionSqlDto((int)fonctionApiDto.Id, fonctionApiDto.Name); + } +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.appservices/FonctionService.cs b/Collaborateur_Epa_Back/espacecollab.backend.appservices/FonctionService.cs new file mode 100644 index 0000000..b76d769 --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.appservices/FonctionService.cs @@ -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 FonctionService : GenericsServices +{ + public FonctionService(IFonctionRepository fonctionRepository) + :base(fonctionRepository, FonctionMapper.ToApi, FonctionMapper.ToSql) + { + } +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.fake/FakeFonctionRepository.cs b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.fake/FakeFonctionRepository.cs new file mode 100644 index 0000000..8bf34bf --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.fake/FakeFonctionRepository.cs @@ -0,0 +1,17 @@ +using espacecollab.backend.infrastructure.interfaces; +using espacecollab.backend.infrastructure.sql.dtos; + +namespace espacecollab.backend.infrastructure.fake; + +public class FakeFonctionRepository : GenericFakeRepository, IFonctionRepository +{ + public FakeFonctionRepository() + { + Context = new List + { + new(1, "Fonction 1"), + + new(2, "Fonction 2") + }; + } +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.interfaces/IFonctionRepository.cs b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.interfaces/IFonctionRepository.cs new file mode 100644 index 0000000..6c51e0f --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.interfaces/IFonctionRepository.cs @@ -0,0 +1,8 @@ +using espacecollab.backend.infrastructure.sql.dtos; + +namespace espacecollab.backend.infrastructure.interfaces; + +public interface IFonctionRepository : IGenericRepository +{ + +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/AgenceSqlDto.cs b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/AgenceSqlDto.cs index 780ffaa..8680156 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/AgenceSqlDto.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/AgenceSqlDto.cs @@ -1,24 +1,22 @@ using System.Diagnostics.CodeAnalysis; using espacecollab.backend.infrastructure.sql.dtos.Interfaces; -namespace espacecollab.backend.infrastructure.sql.dtos -{ - public class AgenceSqlDto : IGenericIdSqlDto - { - public int Id { get; set; } - public string Name { get; set; } +namespace espacecollab.backend.infrastructure.sql.dtos; - [ExcludeFromCodeCoverage] +public class AgenceSqlDto : IGenericIdSqlDto +{ + public int Id { get; set; } + public string Name { get; set; } - private AgenceSqlDto() - { - } + [ExcludeFromCodeCoverage] - public AgenceSqlDto(int id, string name) - { - Id = id; - Name = name; - } + private AgenceSqlDto() + { + } + public AgenceSqlDto(int id, string name) + { + Id = id; + Name = name; } -} +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/BusinessUnitSqlDto.cs b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/BusinessUnitSqlDto.cs index 1a8029f..c311787 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/BusinessUnitSqlDto.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/BusinessUnitSqlDto.cs @@ -1,27 +1,24 @@ using System.Diagnostics.CodeAnalysis; using espacecollab.backend.infrastructure.sql.dtos.Interfaces; -namespace espacecollab.backend.infrastructure.sql.dtos -{ - public class BusinessUnitSqlDto : IGenericIdSqlDto - { - public int Id { get; set; } - public string Name { get; set; } - public int AgenceId { get; set; } +namespace espacecollab.backend.infrastructure.sql.dtos; +public class BusinessUnitSqlDto : IGenericIdSqlDto +{ + public int Id { get; set; } + public string Name { get; set; } + public int AgenceId { get; set; } - [ExcludeFromCodeCoverage] - private BusinessUnitSqlDto() - { - } - - public BusinessUnitSqlDto(int id, string name, int agenceId) - { - Id = id; - Name = name; - AgenceId = agenceId; - } + [ExcludeFromCodeCoverage] + private BusinessUnitSqlDto() + { + } + public BusinessUnitSqlDto(int id, string name, int agenceId) + { + Id = id; + Name = name; + AgenceId = agenceId; } -} +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/CollaborateurSqlDto.cs b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/CollaborateurSqlDto.cs index e1adf0f..113f08e 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/CollaborateurSqlDto.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/CollaborateurSqlDto.cs @@ -2,53 +2,51 @@ using System.Diagnostics.CodeAnalysis; using espacecollab.backend.infrastructure.sql.dtos.Interfaces; -namespace espacecollab.backend.infrastructure.sql.dtos -{ - public class CollaborateurSqlDto : IGenericIdSqlDto - { - public int Id { get; set; } - public string Name { get; set; } - public string FirstName { get; set; } - public DateTime BirthDate { get; set; } - public EnumGenreSql Gender { get; set; } - public EnumStatutSql Status { get; set; } - public int ChildrenNumber { get; set; } - public string Address { get; set; } - public string Telephone { get; set; } - public string PersonalMail { get; set; } - public string ApsideMail { get; set; } - public DateTime ResignationDate { get; set; } - public int ReferrerId { get; set; } - public int BusinessUnitId { get; set; } +namespace espacecollab.backend.infrastructure.sql.dtos; - [ExcludeFromCodeCoverage] - private CollaborateurSqlDto() - { - Name = string.Empty; - FirstName = string.Empty; - Address = string.Empty; - Telephone = string.Empty; - PersonalMail = string.Empty; - ApsideMail = string.Empty; - } +public class CollaborateurSqlDto : IGenericIdSqlDto +{ + public int Id { get; set; } + public string Name { get; set; } + public string FirstName { get; set; } + public DateTime BirthDate { get; set; } + public EnumGenreSql Gender { get; set; } + public EnumStatutSql Status { get; set; } + public int ChildrenNumber { get; set; } + public string Address { get; set; } + public string Telephone { get; set; } + public string PersonalMail { get; set; } + public string ApsideMail { get; set; } + public DateTime ResignationDate { get; set; } + public int ReferrerId { get; set; } + public int BusinessUnitId { get; set; } - public CollaborateurSqlDto(int id, string name, string firstName, DateTime birthDate, EnumGenreSql gender, EnumStatutSql status, int childrenNumber, string address, string telephone, string personalMail, string apsideMail, DateTime resignationDate, int referrerId, int businessUnitId) - { - Id = id; - Name = name; - FirstName = firstName; - BirthDate = birthDate; - Gender = gender; - Status = status; - ChildrenNumber = childrenNumber; - Address = address; - Telephone = telephone; - PersonalMail = personalMail; - ApsideMail = apsideMail; - ResignationDate = resignationDate; - ReferrerId = referrerId; - BusinessUnitId = businessUnitId; - } + [ExcludeFromCodeCoverage] + private CollaborateurSqlDto() + { + Name = string.Empty; + FirstName = string.Empty; + Address = string.Empty; + Telephone = string.Empty; + PersonalMail = string.Empty; + ApsideMail = string.Empty; + } + public CollaborateurSqlDto(int id, string name, string firstName, DateTime birthDate, EnumGenreSql gender, EnumStatutSql status, int childrenNumber, string address, string telephone, string personalMail, string apsideMail, DateTime resignationDate, int referrerId, int businessUnitId) + { + Id = id; + Name = name; + FirstName = firstName; + BirthDate = birthDate; + Gender = gender; + Status = status; + ChildrenNumber = childrenNumber; + Address = address; + Telephone = telephone; + PersonalMail = personalMail; + ApsideMail = apsideMail; + ResignationDate = resignationDate; + ReferrerId = referrerId; + BusinessUnitId = businessUnitId; } -} +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/FonctionSqlDto.cs b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/FonctionSqlDto.cs index 0d67697..ed1eb8e 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/FonctionSqlDto.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql.dtos/FonctionSqlDto.cs @@ -1,24 +1,22 @@ using System.Diagnostics.CodeAnalysis; using espacecollab.backend.infrastructure.sql.dtos.Interfaces; -namespace espacecollab.backend.infrastructure.sql.dtos -{ - public class FonctionSqlDto : IGenericIdSqlDto - { - public int Id { get; set; } - public string Name { get; set; } +namespace espacecollab.backend.infrastructure.sql.dtos; - [ExcludeFromCodeCoverage] - private FonctionSqlDto() - { - } - - public FonctionSqlDto(int id, string name) - { - Id = id; - Name = name; - } +public class FonctionSqlDto : IGenericIdSqlDto +{ + public int Id { get; set; } + public string Name { get; set; } + [ExcludeFromCodeCoverage] + private FonctionSqlDto() + { + } + public FonctionSqlDto(int id, string name) + { + Id = id; + Name = name; } -} + +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql/Repository/FonctionSqlRepository.cs b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql/Repository/FonctionSqlRepository.cs new file mode 100644 index 0000000..b800102 --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.infrastructure.sql/Repository/FonctionSqlRepository.cs @@ -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, IFonctionRepository +{ + public FonctionSqlRepository(MainDbContext context) : base(context) + { + } +} \ No newline at end of file