Suppression des constructeurs de Inquiry

pull/40/head
Clement CHIEU 1 year ago
parent b22e31d352
commit d0efe824ec

@ -5,33 +5,8 @@ namespace Entities;
public class InquiryEntity public class InquiryEntity
{ {
[Key] public int Id { get; } [Key] public int Id { get; set; }
public string Title { get; set; } public string Title { get; set; }
public string Description { get; set; } public string Description { get; set; }
public bool IsUser { 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;
}
} }

@ -38,7 +38,7 @@ public class InquiryDataService : IInquiryDataService
} }
var inquiries = query.ToList(); var inquiries = query.ToList();
return inquiries.Select(s => s.FromEntityToDTO()); return inquiries.Select(s => s.FromEntityToDto());
} }
public InquiryDTO GetInquiryById(int id) public InquiryDTO GetInquiryById(int id)
@ -49,7 +49,7 @@ public class InquiryDataService : IInquiryDataService
throw new ArgumentException("Impossible de trouver l'enquête", nameof(id)); throw new ArgumentException("Impossible de trouver l'enquête", nameof(id));
} }
return inquiryEntity.FromEntityToDTO(); return inquiryEntity.FromEntityToDto();
} }
public InquiryDTO GetInquiryByTitle(string title) public InquiryDTO GetInquiryByTitle(string title)
@ -60,13 +60,13 @@ public class InquiryDataService : IInquiryDataService
throw new ArgumentException("Impossible de trouver l'enquête", nameof(title)); 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) public InquiryDTO CreateInquiry(string title, string description, bool isUser)
{ {
var newInquiryEntity = new InquiryDTO(title, description, isUser); var newInquiryEntity = new InquiryDTO(title, description, isUser);
DbContext.Inquiries.Add(newInquiryEntity.FromDTOToEntity()); DbContext.Inquiries.Add(newInquiryEntity.FromDtoToEntity());
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();
return newInquiryEntity; return newInquiryEntity;
} }
@ -96,6 +96,6 @@ public class InquiryDataService : IInquiryDataService
updatingInquiry.Description = inquiry.Description; updatingInquiry.Description = inquiry.Description;
updatingInquiry.IsUser = inquiry.IsUser; updatingInquiry.IsUser = inquiry.IsUser;
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();
return updatingInquiry.FromEntityToDTO(); return updatingInquiry.FromEntityToDto();
} }
} }

@ -6,7 +6,7 @@ namespace Shared.Mapper;
public static class InquiryMapper 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); 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) 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); 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); return new InquiryDTO(inqEntity.Id, inqEntity.Title, inqEntity.Description, inqEntity.IsUser);
} }

@ -28,13 +28,21 @@ public static class NotepadMapper
public static NotepadEntity FromDTOToEntity(this NotepadDTO dto) 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); dto.Notes);
} }
public static NotepadEntity FromModelToEntity(this Notepad not) 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); not.Notes);
} }
} }

@ -32,13 +32,21 @@ public static class SolutionMapper
public static SolutionEntity FromModelToEntity(this Solution model) 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); model.MurdererLastName, model.MurderPlace, model.MurderWeapon, model.Explanation);
} }
public static SolutionEntity FromDTOToEntity(this SolutionDTO dto) 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); dto.MurdererLastName, dto.MurderPlace, dto.MurderWeapon, dto.Explanation);
} }
} }

@ -29,12 +29,20 @@ public static class SuccessMapper
public static SuccessEntity FromDTOToEntity(this SuccessDTO dto) public static SuccessEntity FromDTOToEntity(this SuccessDTO dto)
{ {
return new SuccessEntity(dto.UserId, new UserEntity(dto.UserId), dto.InquiryId, 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) public static SuccessEntity FromModelToEntity(this Success suc)
{ {
return new SuccessEntity(suc.UserId, new UserEntity(suc.UserId), suc.InquiryId, return new SuccessEntity(suc.UserId, new UserEntity(suc.UserId), suc.InquiryId,
new InquiryEntity(suc.InquiryId), suc.IsFinished); new InquiryEntity
{
Id = suc.InquiryId
},
suc.IsFinished);
} }
} }

@ -47,7 +47,7 @@ public class StubbedContext : UserDbContext
prf: KeyDerivationPrf.HMACSHA256, prf: KeyDerivationPrf.HMACSHA256,
iterationCount: 100000, iterationCount: 100000,
numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true)); numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true));
modelBuilder.Entity<InquiryTableEntity>().HasData( modelBuilder.Entity<InquiryTableEntity>().HasData(
new InquiryTableEntity(1, "Inquiry1", new InquiryTableEntity(1, "Inquiry1",
"Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"), "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(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(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")); new SolutionEntity(3, "Erwan", "Menager", "La salle de bain", "L'arachide", "Parce que c'est Erwan"));
modelBuilder.Entity<InquiryEntity>().HasData( modelBuilder.Entity<InquiryEntity>().HasData(
new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true), new InquiryEntity
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)); 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
});
} }
} }

@ -159,10 +159,10 @@ using (var db = new StubbedContext(options))
// Affichage de la solution de l'enquete sur les orang outan // Affichage de la solution de l'enquete sur les orang outan
Console.WriteLine("\nAffichage 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"); var sol = await solutions.FirstOrDefaultAsync(s => s.Owner.Title == "L'enquête sur les orang outan");
Console.WriteLine(sol.MurdererFirstName); Console.WriteLine(sol.MurdererFirstName);
var inquirySolution = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan"); var inquirySolution = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan");
var i = inquirySolution.Id; var i = inquirySolution.Id;
foreach (var pptt in typeof(SolutionEntity).GetProperties() foreach (var pptt in typeof(SolutionEntity).GetProperties()
@ -173,10 +173,12 @@ using (var db = new StubbedContext(options))
// Ajout d'une enquete // Ajout d'une enquete
Console.WriteLine("\nAjout de la nouvelle enquete"); Console.WriteLine("\nAjout de la nouvelle enquete");
var newInquiry = new InquiryEntity( var newInquiry = new InquiryEntity
"La nouvelle enquete", {
"La description de la nouvelle enquete", Title = "La nouvelle enquete",
true); Description = "La description de la nouvelle enquete",
IsUser = true
};
if (!inquiries.Any(inquiry => inquiry.Title == newInquiry.Title)) if (!inquiries.Any(inquiry => inquiry.Title == newInquiry.Title))
{ {
inquiries.Add(newInquiry); inquiries.Add(newInquiry);

@ -4,48 +4,62 @@ namespace TestEF.EntitiesTests;
public class TestInquiryEntity public class TestInquiryEntity
{ {
private const int _id = 42; private const int Id = 42;
private const string _title = "Title"; private const string Title = "Title";
private const string _description = "_description"; private const string Description = "_description";
private const bool _isUser = true; private const bool IsUser = true;
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
{ {
InquiryEntity inquiry = new InquiryEntity(); var inquiry = new InquiryEntity();
Assert.Equal(0, inquiry.Id); Assert.Equal(0, inquiry.Id);
Assert.Null(inquiry.Title); Assert.Null(inquiry.Title);
Assert.Null(inquiry.Description); Assert.Null(inquiry.Description);
Assert.False(inquiry.IsUser); Assert.False(inquiry.IsUser);
} }
[Fact] [Fact]
public void TestConstructorWithOnlyId() public void TestConstructorWithOnlyId()
{ {
InquiryEntity inquiry = new InquiryEntity(_id); var inquiry = new InquiryEntity
Assert.Equal(_id, inquiry.Id); {
Id = Id
};
Assert.Equal(Id, inquiry.Id);
Assert.Null(inquiry.Title); Assert.Null(inquiry.Title);
Assert.Null(inquiry.Description); Assert.Null(inquiry.Description);
Assert.False(inquiry.IsUser); Assert.False(inquiry.IsUser);
} }
[Fact] [Fact]
public void TestConstructorWithoutId() 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(0, inquiry.Id);
Assert.Equal(_title,inquiry.Title); Assert.Equal(Title, inquiry.Title);
Assert.Equal(_description,inquiry.Description); Assert.Equal(Description, inquiry.Description);
Assert.True(inquiry.IsUser); Assert.True(inquiry.IsUser);
} }
[Fact] [Fact]
public void TestConstructorWithAllAttributes() public void TestConstructorWithAllAttributes()
{ {
InquiryEntity inquiry = new InquiryEntity(_id,_title,_description,_isUser); var inquiry = new InquiryEntity
Assert.Equal(_id, inquiry.Id); {
Assert.Equal(_title,inquiry.Title); Id = Id,
Assert.Equal(_description,inquiry.Description); 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); Assert.True(inquiry.IsUser);
} }
} }
Loading…
Cancel
Save