diff --git a/API_SQLuedo/EntityFramework/InquiryEntity.cs b/API_SQLuedo/EntityFramework/InquiryEntity.cs index 5de9dd9..b44aaa8 100644 --- a/API_SQLuedo/EntityFramework/InquiryEntity.cs +++ b/API_SQLuedo/EntityFramework/InquiryEntity.cs @@ -5,33 +5,8 @@ namespace Entities; public class InquiryEntity { - [Key] public int Id { get; } + [Key] public int Id { get; set; } public string Title { get; set; } public string Description { get; set; } public bool IsUser { get; set; } - - public InquiryEntity() - { - } - - public InquiryEntity(int id) - { - Id = id; - } - - public InquiryEntity(string title, string description, bool isUser) - { - Id = 0; - Title = title; - Description = description; - IsUser = isUser; - } - - public InquiryEntity(int id, string title, string description, bool isUser) - { - Id = id; - Title = title; - Description = description; - IsUser = isUser; - } } \ No newline at end of file diff --git a/API_SQLuedo/Shared/InquiryDataService.cs b/API_SQLuedo/Shared/InquiryDataService.cs index 691e24a..7c04024 100644 --- a/API_SQLuedo/Shared/InquiryDataService.cs +++ b/API_SQLuedo/Shared/InquiryDataService.cs @@ -38,7 +38,7 @@ public class InquiryDataService : IInquiryDataService } var inquiries = query.ToList(); - return inquiries.Select(s => s.FromEntityToDTO()); + return inquiries.Select(s => s.FromEntityToDto()); } public InquiryDTO GetInquiryById(int id) @@ -49,7 +49,7 @@ public class InquiryDataService : IInquiryDataService throw new ArgumentException("Impossible de trouver l'enquête", nameof(id)); } - return inquiryEntity.FromEntityToDTO(); + return inquiryEntity.FromEntityToDto(); } public InquiryDTO GetInquiryByTitle(string title) @@ -60,13 +60,13 @@ public class InquiryDataService : IInquiryDataService throw new ArgumentException("Impossible de trouver l'enquête", nameof(title)); } - return inquiryEntity.FromEntityToDTO(); + return inquiryEntity.FromEntityToDto(); } public InquiryDTO CreateInquiry(string title, string description, bool isUser) { var newInquiryEntity = new InquiryDTO(title, description, isUser); - DbContext.Inquiries.Add(newInquiryEntity.FromDTOToEntity()); + DbContext.Inquiries.Add(newInquiryEntity.FromDtoToEntity()); DbContext.SaveChangesAsync(); return newInquiryEntity; } @@ -96,6 +96,6 @@ public class InquiryDataService : IInquiryDataService updatingInquiry.Description = inquiry.Description; updatingInquiry.IsUser = inquiry.IsUser; DbContext.SaveChangesAsync(); - return updatingInquiry.FromEntityToDTO(); + return updatingInquiry.FromEntityToDto(); } } \ No newline at end of file diff --git a/API_SQLuedo/Shared/Mapper/InquiryMapper.cs b/API_SQLuedo/Shared/Mapper/InquiryMapper.cs index 90f1f15..fb57f82 100644 --- a/API_SQLuedo/Shared/Mapper/InquiryMapper.cs +++ b/API_SQLuedo/Shared/Mapper/InquiryMapper.cs @@ -6,7 +6,7 @@ namespace Shared.Mapper; public static class InquiryMapper { - public static Inquiry FromDTOToModel(this InquiryDTO inqDto) + public static Inquiry FromDtoToModel(this InquiryDTO inqDto) { return new Inquiry(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser); } @@ -19,20 +19,32 @@ public static class InquiryMapper public static InquiryEntity FromModelToEntity(this Inquiry inq) { - return new InquiryEntity(inq.Id, inq.Title, inq.Description, inq.IsUser); + return new InquiryEntity + { + Id = inq.Id, + Title = inq.Title, + Description = inq.Description, + IsUser = inq.IsUser + }; } - public static InquiryEntity FromDTOToEntity(this InquiryDTO inqDto) + public static InquiryEntity FromDtoToEntity(this InquiryDTO inqDto) { - return new InquiryEntity(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser); + return new InquiryEntity + { + Id = inqDto.Id, + Title = inqDto.Title, + Description = inqDto.Description, + IsUser = inqDto.IsUser + }; } - public static InquiryDTO FromModelToDTO(this Inquiry inq) + public static InquiryDTO FromModelToDto(this Inquiry inq) { return new InquiryDTO(inq.Id, inq.Title, inq.Description, inq.IsUser); } - public static InquiryDTO FromEntityToDTO(this InquiryEntity inqEntity) + public static InquiryDTO FromEntityToDto(this InquiryEntity inqEntity) { return new InquiryDTO(inqEntity.Id, inqEntity.Title, inqEntity.Description, inqEntity.IsUser); } diff --git a/API_SQLuedo/Shared/Mapper/NotepadMapper.cs b/API_SQLuedo/Shared/Mapper/NotepadMapper.cs index 5de18a8..3862d02 100644 --- a/API_SQLuedo/Shared/Mapper/NotepadMapper.cs +++ b/API_SQLuedo/Shared/Mapper/NotepadMapper.cs @@ -28,13 +28,21 @@ public static class NotepadMapper public static NotepadEntity FromDTOToEntity(this NotepadDTO dto) { - return new NotepadEntity(dto.Id, new UserEntity(dto.UserId), dto.UserId, new InquiryEntity(dto.InquiryId), + return new NotepadEntity(dto.Id, new UserEntity(dto.UserId), dto.UserId, + new InquiryEntity + { + Id = dto.InquiryId + }, dto.Notes); } public static NotepadEntity FromModelToEntity(this Notepad not) { - return new NotepadEntity(not.Id, new UserEntity(not.UserId), not.UserId, new InquiryEntity(not.InquiryId), + return new NotepadEntity(not.Id, new UserEntity(not.UserId), not.UserId, + new InquiryEntity + { + Id = not.InquiryId + }, not.Notes); } } \ No newline at end of file diff --git a/API_SQLuedo/Shared/Mapper/SolutionMapper.cs b/API_SQLuedo/Shared/Mapper/SolutionMapper.cs index 9f5f49a..deb56e5 100644 --- a/API_SQLuedo/Shared/Mapper/SolutionMapper.cs +++ b/API_SQLuedo/Shared/Mapper/SolutionMapper.cs @@ -32,13 +32,21 @@ public static class SolutionMapper public static SolutionEntity FromModelToEntity(this Solution model) { - return new SolutionEntity(model.OwnerId, new InquiryEntity(model.OwnerId), model.MurdererFirstName, + return new SolutionEntity(model.OwnerId, new InquiryEntity + { + Id = model.OwnerId + }, + model.MurdererFirstName, model.MurdererLastName, model.MurderPlace, model.MurderWeapon, model.Explanation); } public static SolutionEntity FromDTOToEntity(this SolutionDTO dto) { - return new SolutionEntity(dto.OwnerId, new InquiryEntity(dto.OwnerId), dto.MurdererFirstName, + return new SolutionEntity(dto.OwnerId, new InquiryEntity + { + Id = dto.OwnerId + }, + dto.MurdererFirstName, dto.MurdererLastName, dto.MurderPlace, dto.MurderWeapon, dto.Explanation); } } \ No newline at end of file diff --git a/API_SQLuedo/Shared/Mapper/SuccessMapper.cs b/API_SQLuedo/Shared/Mapper/SuccessMapper.cs index ea5ef02..3912f13 100644 --- a/API_SQLuedo/Shared/Mapper/SuccessMapper.cs +++ b/API_SQLuedo/Shared/Mapper/SuccessMapper.cs @@ -29,12 +29,20 @@ public static class SuccessMapper public static SuccessEntity FromDTOToEntity(this SuccessDTO dto) { return new SuccessEntity(dto.UserId, new UserEntity(dto.UserId), dto.InquiryId, - new InquiryEntity(dto.InquiryId), dto.IsFinished); + new InquiryEntity + { + Id = dto.InquiryId + }, + dto.IsFinished); } public static SuccessEntity FromModelToEntity(this Success suc) { return new SuccessEntity(suc.UserId, new UserEntity(suc.UserId), suc.InquiryId, - new InquiryEntity(suc.InquiryId), suc.IsFinished); + new InquiryEntity + { + Id = suc.InquiryId + }, + suc.IsFinished); } } \ No newline at end of file diff --git a/API_SQLuedo/StubbedContextLib/StubbedContext.cs b/API_SQLuedo/StubbedContextLib/StubbedContext.cs index 925eb10..263f6ee 100644 --- a/API_SQLuedo/StubbedContextLib/StubbedContext.cs +++ b/API_SQLuedo/StubbedContextLib/StubbedContext.cs @@ -47,7 +47,7 @@ public class StubbedContext : UserDbContext prf: KeyDerivationPrf.HMACSHA256, iterationCount: 100000, numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true)); - + modelBuilder.Entity().HasData( new InquiryTableEntity(1, "Inquiry1", "Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"), @@ -60,10 +60,28 @@ public class StubbedContext : UserDbContext new SolutionEntity(1, "Maxime", "Sapountzis", "La cuisine", "Le couteau", "Parce que c'est Maxime"), new SolutionEntity(2, "Johnny", "Ratton", "La cuisine", "Le couteau", "Parce que il est ra****"), new SolutionEntity(3, "Erwan", "Menager", "La salle de bain", "L'arachide", "Parce que c'est Erwan")); - + modelBuilder.Entity().HasData( - new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true), - new InquiryEntity(2, "L'enquête sur les orang outan", "The new description", false), - new InquiryEntity(3, "L'enquête sur les parapluies", "Il pleuvait", false)); + new InquiryEntity + { + Id = 1, + Title = "L'enquête de la carotte", + Description = "La description de l'inquiry1", + IsUser = true + }, + new InquiryEntity + { + Id = 2, + Title = "L'enquête sur les orang outan", + Description = "The new description", + IsUser = false + }, + new InquiryEntity + { + Id = 3, + Title = "L'enquête sur les parapluies", + Description = "Il pleuvait", + IsUser = false + }); } } \ No newline at end of file diff --git a/API_SQLuedo/TestConsoleEf/Program.cs b/API_SQLuedo/TestConsoleEf/Program.cs index fb63a8f..7cef835 100644 --- a/API_SQLuedo/TestConsoleEf/Program.cs +++ b/API_SQLuedo/TestConsoleEf/Program.cs @@ -159,10 +159,10 @@ using (var db = new StubbedContext(options)) // Affichage de la solution de l'enquete sur les orang outan Console.WriteLine("\nAffichage de la solution de l'enquete sur les orang outan"); - + var sol = await solutions.FirstOrDefaultAsync(s => s.Owner.Title == "L'enquête sur les orang outan"); Console.WriteLine(sol.MurdererFirstName); - + var inquirySolution = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan"); var i = inquirySolution.Id; foreach (var pptt in typeof(SolutionEntity).GetProperties() @@ -173,10 +173,12 @@ using (var db = new StubbedContext(options)) // Ajout d'une enquete Console.WriteLine("\nAjout de la nouvelle enquete"); - var newInquiry = new InquiryEntity( - "La nouvelle enquete", - "La description de la nouvelle enquete", - true); + var newInquiry = new InquiryEntity + { + Title = "La nouvelle enquete", + Description = "La description de la nouvelle enquete", + IsUser = true + }; if (!inquiries.Any(inquiry => inquiry.Title == newInquiry.Title)) { inquiries.Add(newInquiry); diff --git a/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs b/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs index bee3d00..4a9215f 100644 --- a/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs +++ b/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs @@ -4,48 +4,62 @@ namespace TestEF.EntitiesTests; public class TestInquiryEntity { - private const int _id = 42; - private const string _title = "Title"; - private const string _description = "_description"; - private const bool _isUser = true; + private const int Id = 42; + private const string Title = "Title"; + private const string Description = "_description"; + private const bool IsUser = true; [Fact] public void TestDefaultConstructor() { - InquiryEntity inquiry = new InquiryEntity(); + var inquiry = new InquiryEntity(); Assert.Equal(0, inquiry.Id); Assert.Null(inquiry.Title); Assert.Null(inquiry.Description); Assert.False(inquiry.IsUser); } - + [Fact] public void TestConstructorWithOnlyId() { - InquiryEntity inquiry = new InquiryEntity(_id); - Assert.Equal(_id, inquiry.Id); + var inquiry = new InquiryEntity + { + Id = Id + }; + Assert.Equal(Id, inquiry.Id); Assert.Null(inquiry.Title); Assert.Null(inquiry.Description); Assert.False(inquiry.IsUser); } - + [Fact] public void TestConstructorWithoutId() { - InquiryEntity inquiry = new InquiryEntity(_title,_description,_isUser); + var inquiry = new InquiryEntity + { + Title = Title, + Description = Description, + IsUser = IsUser + }; Assert.Equal(0, inquiry.Id); - Assert.Equal(_title,inquiry.Title); - Assert.Equal(_description,inquiry.Description); + Assert.Equal(Title, inquiry.Title); + Assert.Equal(Description, inquiry.Description); Assert.True(inquiry.IsUser); } - + [Fact] public void TestConstructorWithAllAttributes() { - InquiryEntity inquiry = new InquiryEntity(_id,_title,_description,_isUser); - Assert.Equal(_id, inquiry.Id); - Assert.Equal(_title,inquiry.Title); - Assert.Equal(_description,inquiry.Description); + var inquiry = new InquiryEntity + { + Id = Id, + Title = Title, + Description = Description, + IsUser = IsUser + }; + Assert.Equal(Id, inquiry.Id); + Assert.Equal(Title, inquiry.Title); + Assert.Equal(Description, inquiry.Description); Assert.True(inquiry.IsUser); } } \ No newline at end of file