diff --git a/API_SQLuedo/API/Controllers/InquiriesController.cs b/API_SQLuedo/API/Controllers/InquiriesController.cs index fd5b2d3..045d7a7 100644 --- a/API_SQLuedo/API/Controllers/InquiriesController.cs +++ b/API_SQLuedo/API/Controllers/InquiriesController.cs @@ -13,10 +13,10 @@ namespace API.Controllers [ApiController] public class InquiriesController : Controller { - private IInquiryDataService _inquiryDataService; + private IInquiryService _inquiryDataService; private readonly ILogger _logger; - public InquiriesController(IInquiryDataService inquiryDataService, ILogger logger) + public InquiriesController(IInquiryService inquiryDataService, ILogger logger) { _inquiryDataService = inquiryDataService; _logger = logger; @@ -37,7 +37,7 @@ namespace API.Controllers return Ok(_inquiryDataService.GetInquiries(page, number, orderCriteria)); } - [HttpGet("inquiry/{id}")] + [HttpGet("inquiry/{id:int}")] [ProducesResponseType(typeof(InquiryDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetInquiryById(int id) @@ -54,7 +54,7 @@ namespace API.Controllers } } - [HttpGet("inquiry/{title}")] + [HttpGet("inquiry/{title:alpha}")] [ProducesResponseType(typeof(InquiryDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetInquiryByTitle(string title) @@ -95,12 +95,12 @@ namespace API.Controllers [ProducesResponseType(typeof(string), 400)] public IActionResult CreateInquiry([FromBody] InquiryDTO dto) { - if (dto.Title == null || dto.Description == null || dto.Database == null || dto.InquiryTable == null) + if (dto.Title == null || dto.Description == null) { return BadRequest(); } - _logger.LogInformation("[INFORMATION] Une enquête a été créé : title - {title}, description - {description}, isUser - {isUser}, database - {database}, inquiryTable - {inquiryTable}", dto.Title, dto.Description, dto.IsUser, dto.Database, dto.InquiryTable); - return Created(nameof(GetInquiries), _inquiryDataService.CreateInquiry(dto.Title, dto.Description, dto.IsUser, dto.Database, dto.InquiryTable)); + _logger.LogInformation("[INFORMATION] Une enquête a été créé : title - {title}, description - {description}, isUser - {isUser}", dto.Title, dto.Description, dto.IsUser); + return Created(nameof(GetInquiries), _inquiryDataService.CreateInquiry(dto.Title, dto.Description, dto.IsUser)); } [HttpPut("inquiry/{id}")] diff --git a/API_SQLuedo/API/Controllers/LessonsController.cs b/API_SQLuedo/API/Controllers/LessonsController.cs index 2401a6c..eaaec1b 100644 --- a/API_SQLuedo/API/Controllers/LessonsController.cs +++ b/API_SQLuedo/API/Controllers/LessonsController.cs @@ -13,11 +13,11 @@ namespace API.Controllers [ApiController] public class LessonsController : Controller { - private ILessonDataService _lessonDataService; + private ILessonService _lessonDataService; private readonly ILogger _logger; - public LessonsController(ILessonDataService lessonDataService, ILogger logger) + public LessonsController(ILessonService lessonDataService, ILogger logger) { _lessonDataService = lessonDataService; _logger = logger; @@ -38,7 +38,7 @@ namespace API.Controllers return Ok(_lessonDataService.GetLessons(page, number, orderCriteria)); } - [HttpGet("lesson/{id}")] + [HttpGet("lesson/{id:int}")] [ProducesResponseType(typeof(LessonDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetLessonById(int id) @@ -55,7 +55,7 @@ namespace API.Controllers } } - [HttpGet("lesson/{title}")] + [HttpGet("lesson/{title:alpha}")] [ProducesResponseType(typeof(LessonDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetLessonByTitle(string title) diff --git a/API_SQLuedo/API/Controllers/ParagraphsController.cs b/API_SQLuedo/API/Controllers/ParagraphsController.cs index 8cde6f1..9196e21 100644 --- a/API_SQLuedo/API/Controllers/ParagraphsController.cs +++ b/API_SQLuedo/API/Controllers/ParagraphsController.cs @@ -13,11 +13,11 @@ namespace API.Controllers [ApiController] public class ParagraphsController : Controller { - private IParagraphDataService _paragraphDataService; + private IParagraphService _paragraphDataService; private readonly ILogger _logger; - public ParagraphsController(IParagraphDataService paragraphDataService, ILogger logger) + public ParagraphsController(IParagraphService paragraphDataService, ILogger logger) { _paragraphDataService = paragraphDataService; _logger = logger; @@ -38,7 +38,7 @@ namespace API.Controllers return Ok(_paragraphDataService.GetParagraphs(page, number, orderCriteria)); } - [HttpGet("paragraph/{id}")] + [HttpGet("paragraph/{id:int}")] [ProducesResponseType(typeof(ParagraphDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetParagraphById(int id) @@ -54,7 +54,7 @@ namespace API.Controllers } } - [HttpGet("paragraph/{title}")] + [HttpGet("paragraph/{title:alpha}")] [ProducesResponseType(typeof(ParagraphDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetParagraphByTitle(string title) diff --git a/API_SQLuedo/API/Controllers/SuccessesController.cs b/API_SQLuedo/API/Controllers/SuccessesController.cs index a335f0f..09df742 100644 --- a/API_SQLuedo/API/Controllers/SuccessesController.cs +++ b/API_SQLuedo/API/Controllers/SuccessesController.cs @@ -13,11 +13,11 @@ namespace API.Controllers [ApiController] public class SuccessesController : Controller { - private ISuccessDataService _successDataService; + private ISuccessService _successDataService; private readonly ILogger _logger; - public SuccessesController(ISuccessDataService successDataService, ILogger logger) + public SuccessesController(ISuccessService successDataService, ILogger logger) { _successDataService = successDataService; _logger = logger; @@ -38,7 +38,7 @@ namespace API.Controllers return Ok(_successDataService.GetSuccesses(page, number, orderCriteria)); } - [HttpGet("success/{id}")] + [HttpGet("success/user/{id:int}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetSuccessByUserId(int userId) @@ -54,7 +54,7 @@ namespace API.Controllers } } - [HttpGet("success/{inquiryId}")] + [HttpGet("success/inquiry/{inquiryId:int}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetSuccessByInquiryId(int inquiryId) diff --git a/API_SQLuedo/API/Controllers/UserController.cs b/API_SQLuedo/API/Controllers/UserController.cs index a6114f5..32dbe70 100644 --- a/API_SQLuedo/API/Controllers/UserController.cs +++ b/API_SQLuedo/API/Controllers/UserController.cs @@ -11,7 +11,7 @@ namespace API.Controllers [Authorize] [ApiVersion("1.0")] [ApiController] - public class UsersController(ILogger logger, IUserDataService userService) : ControllerBase + public class UsersController(ILogger logger, IUserService userService) : ControllerBase { [HttpGet("users/{page}/{number}")] [ProducesResponseType(typeof(UserDTO), 200)] @@ -29,7 +29,7 @@ namespace API.Controllers return Ok(users); } - [HttpGet("user/{id}")] + [HttpGet("user/{id:int}")] [ProducesResponseType(typeof(UserDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetUserById(int id) @@ -46,7 +46,7 @@ namespace API.Controllers } } - [HttpGet("user/{username}")] + [HttpGet("user/{username:alpha}")] [ProducesResponseType(typeof(UserDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetUserByUsername(string username) diff --git a/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs b/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs index 6248d48..7f7ebf4 100644 --- a/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs @@ -6,9 +6,9 @@ namespace API.Service; public class InquiryDataServiceApi(IInquiryService inquiryService) : IInquiryService { - public InquiryEntity CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId) + public InquiryEntity CreateInquiry(string title, string description, bool isUser) { - return inquiryService.CreateInquiry(title, description, isUser, tableId, solutionId); + return inquiryService.CreateInquiry(title, description, isUser); } public bool DeleteInquiry(int id) diff --git a/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs b/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs index dc8d3c8..2f9b580 100644 --- a/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs @@ -8,7 +8,7 @@ namespace DbDataManager.Service; public class InquiryDataService : IInquiryService { - private UserDbContext DbContext { get; set; } + private UserDbContext DbContext { get; } public InquiryDataService(UserDbContext context) { @@ -68,23 +68,19 @@ public class InquiryDataService : IInquiryService updatingInquiry.Title = inquiry.Title; updatingInquiry.Description = inquiry.Description; updatingInquiry.IsUser = inquiry.IsUser; - updatingInquiry.IdSolution = inquiry.IdSolution; - updatingInquiry.IdDatabase = inquiry.IdDatabase; // Permet d'indiquer en Db que l'entité a été modifiée. DbContext.Entry(updatingInquiry).State = EntityState.Modified; DbContext.SaveChangesAsync(); return updatingInquiry; } - public InquiryEntity CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId) + public InquiryEntity CreateInquiry(string title, string description, bool isUser) { var newInquiryEntity = new InquiryEntity() { Title = title, Description = description, IsUser = isUser, - IdDatabase = tableId, - IdSolution = solutionId, }; DbContext.Inquiries.Add(newInquiryEntity); DbContext.SaveChangesAsync(); diff --git a/API_SQLuedo/Dto/InquiryDTO.cs b/API_SQLuedo/Dto/InquiryDTO.cs index 258aaab..5a436ed 100644 --- a/API_SQLuedo/Dto/InquiryDTO.cs +++ b/API_SQLuedo/Dto/InquiryDTO.cs @@ -10,25 +10,18 @@ public class InquiryDTO public bool IsUser { get; set; } - public int Database { get; set; } - public int InquiryTable { get; set; } - - public InquiryDTO(int id, string title, string description, bool isUser, int database, int inquiryTable) + public InquiryDTO(int id, string title, string description, bool isUser) { Id = id; Title = title; Description = description; IsUser = isUser; - Database = database; - InquiryTable = inquiryTable; } - public InquiryDTO(string title, string description, bool isUser, int database, int inquiryTable) + public InquiryDTO(string title, string description, bool isUser) { Title = title; Description = description; IsUser = isUser; - Database = database; - InquiryTable = inquiryTable; } } \ No newline at end of file diff --git a/API_SQLuedo/EntityFramework/InquiryEntity.cs b/API_SQLuedo/EntityFramework/InquiryEntity.cs index 9d2f77d..5de9dd9 100644 --- a/API_SQLuedo/EntityFramework/InquiryEntity.cs +++ b/API_SQLuedo/EntityFramework/InquiryEntity.cs @@ -1,52 +1,37 @@ -namespace Entities; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Entities; public class InquiryEntity { - public int Id { get; } + [Key] public int Id { get; } public string Title { get; set; } public string Description { get; set; } public bool IsUser { get; set; } - public int IdDatabase { get; set; } - public InquiryTableEntity Database { get; set; } - public int IdSolution { get; set; } - public SolutionEntity Solution { get; set; } - public InquiryEntity() {} - public InquiryEntity(int id) + public InquiryEntity() { - Id = id; } - public InquiryEntity(int id, string title, string description, bool isUser, InquiryTableEntity database, - SolutionEntity inquiryTable) + public InquiryEntity(int id) { Id = id; - Title = title; - Description = description; - IsUser = isUser; - Database = database; - Solution = inquiryTable; } - public InquiryEntity(string title, string description, bool isUser, InquiryTableEntity database, - SolutionEntity inquiryTable) + public InquiryEntity(string title, string description, bool isUser) { Id = 0; Title = title; Description = description; IsUser = isUser; - Database = database; - Solution = inquiryTable; } - public InquiryEntity(int id, string title, string description, bool isUser, int database, - int inquiryTable) + public InquiryEntity(int id, string title, string description, bool isUser) { Id = id; Title = title; Description = description; IsUser = isUser; - IdDatabase = database; - IdSolution = inquiryTable; } } \ No newline at end of file diff --git a/API_SQLuedo/Model/Inquiry.cs b/API_SQLuedo/Model/Inquiry.cs index 8aab55a..d2a805f 100644 --- a/API_SQLuedo/Model/Inquiry.cs +++ b/API_SQLuedo/Model/Inquiry.cs @@ -6,18 +6,14 @@ public class Inquiry public string Title { get; set; } public string Description { get; set; } public bool IsUser { get; set; } - public int Database { get; set; } - public int InquiryTable { get; set; } public Inquiry() { } - public Inquiry(int id, string title, string description, bool isUser, int database, int inquiryTable) + public Inquiry(int id, string title, string description, bool isUser) { Id = id; Title = title; Description = description; IsUser = isUser; - Database = database; - InquiryTable = inquiryTable; } } \ No newline at end of file diff --git a/API_SQLuedo/Shared/IInquiryDataService.cs b/API_SQLuedo/Shared/IInquiryDataService.cs index 682e4c6..79085f6 100644 --- a/API_SQLuedo/Shared/IInquiryDataService.cs +++ b/API_SQLuedo/Shared/IInquiryDataService.cs @@ -10,5 +10,5 @@ public interface IInquiryDataService : IInquiryService public InquiryDTO GetInquiryByTitle(string title); public bool DeleteInquiry(int id); public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry); - public InquiryDTO CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId); + public InquiryDTO CreateInquiry(string title, string description, bool isUser); } \ No newline at end of file diff --git a/API_SQLuedo/Shared/IInquiryService.cs b/API_SQLuedo/Shared/IInquiryService.cs index 5b5f28b..68d27b8 100644 --- a/API_SQLuedo/Shared/IInquiryService.cs +++ b/API_SQLuedo/Shared/IInquiryService.cs @@ -7,7 +7,7 @@ public interface IInquiryService public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria); public TInquiry GetInquiryById(int id); public TInquiry GetInquiryByTitle(string title); - public bool DeleteInquiry(int id); - public TInquiry UpdateInquiry(int id, TInquiry inquiry); - public TInquiry CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId); + public bool DeleteInquiry(int id); + public TInquiry UpdateInquiry(int id, TInquiry inquiry); + public TInquiry CreateInquiry(string title, string description, bool isUser); } \ No newline at end of file diff --git a/API_SQLuedo/Shared/InquiryDataService.cs b/API_SQLuedo/Shared/InquiryDataService.cs index 4149d62..691e24a 100644 --- a/API_SQLuedo/Shared/InquiryDataService.cs +++ b/API_SQLuedo/Shared/InquiryDataService.cs @@ -16,7 +16,7 @@ public class InquiryDataService : IInquiryDataService DbContext = context; context.Database.EnsureCreated(); } - + public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) { IQueryable query = DbContext.Inquiries.Skip((page - 1) * number).Take(number); @@ -36,6 +36,7 @@ public class InquiryDataService : IInquiryDataService default: break; } + var inquiries = query.ToList(); return inquiries.Select(s => s.FromEntityToDTO()); } @@ -47,6 +48,7 @@ public class InquiryDataService : IInquiryDataService { throw new ArgumentException("Impossible de trouver l'enquête", nameof(id)); } + return inquiryEntity.FromEntityToDTO(); } @@ -57,12 +59,13 @@ public class InquiryDataService : IInquiryDataService { throw new ArgumentException("Impossible de trouver l'enquête", nameof(title)); } + return inquiryEntity.FromEntityToDTO(); } - public InquiryDTO CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId) + public InquiryDTO CreateInquiry(string title, string description, bool isUser) { - var newInquiryEntity = new InquiryDTO(title, description, isUser, tableId, solutionId); + var newInquiryEntity = new InquiryDTO(title, description, isUser); DbContext.Inquiries.Add(newInquiryEntity.FromDTOToEntity()); DbContext.SaveChangesAsync(); return newInquiryEntity; @@ -75,10 +78,12 @@ public class InquiryDataService : IInquiryDataService { return false; } + DbContext.Inquiries.Remove(inquiryEntity); DbContext.SaveChangesAsync(); return true; } + public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry) { var updatingInquiry = DbContext.Inquiries.FirstOrDefault(u => u.Id == id); @@ -90,9 +95,7 @@ public class InquiryDataService : IInquiryDataService updatingInquiry.Title = inquiry.Title; updatingInquiry.Description = inquiry.Description; updatingInquiry.IsUser = inquiry.IsUser; - updatingInquiry.IdDatabase = inquiry.Database; - updatingInquiry.IdSolution = inquiry.InquiryTable; DbContext.SaveChangesAsync(); 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 72b69f5..90f1f15 100644 --- a/API_SQLuedo/Shared/Mapper/InquiryMapper.cs +++ b/API_SQLuedo/Shared/Mapper/InquiryMapper.cs @@ -6,39 +6,34 @@ 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, InqDto.Database, - InqDto.InquiryTable); + return new Inquiry(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser); } - public static Inquiry FromEntityToModel(this InquiryEntity InqEntity) + public static Inquiry FromEntityToModel(this InquiryEntity inqEntity) { - return new Inquiry(InqEntity.Id, InqEntity.Title, InqEntity.Description, InqEntity.IsUser, - InqEntity.Database.OwnerId, InqEntity.Solution.OwnerId); + return new Inquiry(inqEntity.Id, inqEntity.Title, inqEntity.Description, inqEntity.IsUser); } - 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, new InquiryTableEntity(Inq.Database), - new SolutionEntity(Inq.InquiryTable)); + return new InquiryEntity(inq.Id, inq.Title, inq.Description, 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, - new InquiryTableEntity(InqDto.Database), new SolutionEntity(InqDto.InquiryTable)); + return new InquiryEntity(inqDto.Id, inqDto.Title, inqDto.Description, 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, Inq.Database, Inq.InquiryTable); + 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, - InqEntity.Database.OwnerId, InqEntity.Solution.OwnerId); + return new InquiryDTO(inqEntity.Id, inqEntity.Title, inqEntity.Description, inqEntity.IsUser); } } \ No newline at end of file diff --git a/API_SQLuedo/Shared/Mapper/InquiryTableMapper.cs b/API_SQLuedo/Shared/Mapper/InquiryTableMapper.cs index f11c4b8..3dc11ca 100644 --- a/API_SQLuedo/Shared/Mapper/InquiryTableMapper.cs +++ b/API_SQLuedo/Shared/Mapper/InquiryTableMapper.cs @@ -6,29 +6,29 @@ namespace Shared.Mapper; public static class InquiryTableMapper { - public static InquiryTable FromDTOToModel(this InquiryTableDTO InqTDto) + public static InquiryTable FromDTOToModel(this InquiryTableDTO inqTDto) { - return new InquiryTable(InqTDto.OwnerId, InqTDto.ConnectionInfo, InqTDto.DatabaseName); + return new InquiryTable(inqTDto.OwnerId, inqTDto.ConnectionInfo, inqTDto.DatabaseName); } - public static InquiryTable FromEntityToModel(this InquiryTableEntity InqTEntity) + public static InquiryTable FromEntityToModel(this InquiryTableEntity inqTEntity) { - return new InquiryTable(InqTEntity.OwnerId, InqTEntity.ConnectionInfo, InqTEntity.DatabaseName); + return new InquiryTable(inqTEntity.OwnerId, inqTEntity.ConnectionInfo, inqTEntity.DatabaseName); } - public static InquiryTableDTO FromModelToDTO(this InquiryTable InqT) + public static InquiryTableDTO FromModelToDTO(this InquiryTable inqT) { - return new InquiryTableDTO(InqT.OwnerId, InqT.DatabaseName, InqT.ConnectionInfo); + return new InquiryTableDTO(inqT.OwnerId, inqT.DatabaseName, inqT.ConnectionInfo); } - public static InquiryTableDTO FromEntityToDTO(this InquiryTableEntity InqTEntity) + public static InquiryTableDTO FromEntityToDTO(this InquiryTableEntity inqTEntity) { - return new InquiryTableDTO(InqTEntity.OwnerId, InqTEntity.DatabaseName, InqTEntity.ConnectionInfo); + return new InquiryTableDTO(inqTEntity.OwnerId, inqTEntity.DatabaseName, inqTEntity.ConnectionInfo); } - public static InquiryTableEntity FromModelToEntity(this InquiryTable InqT) + public static InquiryTableEntity FromModelToEntity(this InquiryTable inqT) { - return new InquiryTableEntity(InqT.OwnerId, InqT.DatabaseName, InqT.ConnectionInfo); + return new InquiryTableEntity(inqT.OwnerId, inqT.DatabaseName, inqT.ConnectionInfo); } public static InquiryTableEntity FromDTOToEntity(this InquiryTableDTO dto) diff --git a/API_SQLuedo/StubbedContextLib/StubbedContext.cs b/API_SQLuedo/StubbedContextLib/StubbedContext.cs index e87f12f..925eb10 100644 --- a/API_SQLuedo/StubbedContextLib/StubbedContext.cs +++ b/API_SQLuedo/StubbedContextLib/StubbedContext.cs @@ -47,12 +47,7 @@ public class StubbedContext : UserDbContext prf: KeyDerivationPrf.HMACSHA256, iterationCount: 100000, numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true)); - - modelBuilder.Entity().HasData( - new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true, 1, 1), - new InquiryEntity(2, "L'enquête sur les orang outan", "The new description", false, 2, 2), - new InquiryEntity(3, "L'enquête sur les parapluies", "Il pleuvait", false, 3, 3)); - + modelBuilder.Entity().HasData( new InquiryTableEntity(1, "Inquiry1", "Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"), @@ -65,5 +60,10 @@ 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)); } } \ No newline at end of file diff --git a/API_SQLuedo/TestConsoleAPI/Program.cs b/API_SQLuedo/TestConsoleAPI/Program.cs index 91c03b5..19866e9 100644 --- a/API_SQLuedo/TestConsoleAPI/Program.cs +++ b/API_SQLuedo/TestConsoleAPI/Program.cs @@ -49,8 +49,8 @@ using (var context = new UserDbContext(options)) { Console.WriteLine(item); } - } - + } + void PrintParagraphs() { Console.WriteLine(); @@ -59,8 +59,8 @@ using (var context = new UserDbContext(options)) { Console.WriteLine(item); } - } - + } + void PrintLessons() { Console.WriteLine(); @@ -69,8 +69,8 @@ using (var context = new UserDbContext(options)) { Console.WriteLine(item); } - } - + } + void PrintSuccesses() { Console.WriteLine(); @@ -106,8 +106,8 @@ using (var context = new UserDbContext(options)) return; } Console.WriteLine(inquiry.Value as InquiryDTO); - } - + } + void SearchParagraphByTitle() { Console.WriteLine("\nVeuillez saisir le titre du paragraphe recherché : "); @@ -120,8 +120,8 @@ using (var context = new UserDbContext(options)) } Console.WriteLine(paragraph.Value as ParagraphDTO); - } - + } + void SearchLessonByTitle() { Console.WriteLine("\nVeuillez saisir le titre de la leçon recherchée : "); @@ -134,8 +134,8 @@ using (var context = new UserDbContext(options)) } Console.WriteLine(lesson.Value as LessonDTO); - } - + } + void SearchSuccessByUserId() { Console.WriteLine("\nVeuillez saisir l'identifiant de l'utilisateur du succès recherché : "); @@ -175,8 +175,8 @@ using (var context = new UserDbContext(options)) return; } Console.WriteLine(inquiry.Value as InquiryDTO); - } - + } + void SearchParagraphById() { Console.WriteLine("\nVeuillez saisir l'identifiant du paragraphe recherché : "); @@ -189,8 +189,8 @@ using (var context = new UserDbContext(options)) } Console.WriteLine(paragraph.Value as ParagraphDTO); - } - + } + void SearchSuccessByInquiryId() { Console.WriteLine("\nVeuillez saisir l'identifiant de l'enquête du succès recherché : "); @@ -203,8 +203,8 @@ using (var context = new UserDbContext(options)) } Console.WriteLine(success.Value as SuccessDTO); - } - + } + void SearchLessonById() { Console.WriteLine("\nVeuillez saisir l'identifiant de la leçon recherchée : "); @@ -228,10 +228,10 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez saisir un mot de passe :"); var mdp = Console.ReadLine(); var res = userController.CreateUser(new UserDTO(username, mdp, email, false)); - if (res.GetType() == typeof(CreatedResult)) + if (res.GetType() == typeof(CreatedResult)) { Console.WriteLine("\nUtilisateur créé avec succès"); - } + } else { Console.WriteLine("\nErreur lors de la création de l'utilisateur !"); @@ -251,7 +251,7 @@ using (var context = new UserDbContext(options)) var database = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Veuillez saisir l'id de la solution :"); var solution = Convert.ToInt32(Console.ReadLine()); - var res = inquiryController.CreateInquiry(new InquiryDTO(title, description, false, database, solution)); + var res = inquiryController.CreateInquiry(new InquiryDTO(title, description, false)); if (res.GetType() == typeof(CreatedResult)) { Console.WriteLine("\nEnquête créée avec succès"); @@ -260,8 +260,8 @@ using (var context = new UserDbContext(options)) { Console.WriteLine("\nErreur lors de la création de l'enquête !"); } - } - + } + void AddParagraph() { Console.WriteLine("Veuillez saisir le titre :"); @@ -277,17 +277,17 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez saisir l'id de la leçon :"); var lesson = Convert.ToInt32(Console.ReadLine()); var res = paragraphController.CreateParagraph(new ParagraphDTO(title, content, info, query, comment, lesson)); - if (res.GetType() == typeof(CreatedResult)) + if (res.GetType() == typeof(CreatedResult)) { Console.WriteLine("\nParagraphe créé avec succès"); - } + } else { Console.WriteLine("\nErreur lors de la création du paragraphe !"); } - } - + } + void AddLesson() { Console.WriteLine("Veuillez saisir le titre :"); @@ -295,17 +295,17 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez saisir votre nom :"); var lastPublisher = Console.ReadLine(); var res = lessonController.CreateLesson(new LessonDTO(title, lastPublisher, DateOnly.FromDateTime(DateTime.Now))); - if (res.GetType() == typeof(CreatedResult)) + if (res.GetType() == typeof(CreatedResult)) { Console.WriteLine("\nLeçon créée avec succès"); - } + } else { Console.WriteLine("\nErreur lors de la création de la leçon !"); } - } - + } + void AddSuccess() { Console.WriteLine("Veuillez saisir l'identifiant de l'utilisateur lié au succès :"); @@ -315,10 +315,10 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez indiquer si l'enquête a été complété (true/false) :"); var isFinished = Console.ReadLine(); var res = successController.CreateSuccess(new SuccessDTO(int.Parse(userId), int.Parse(inquiryId), bool.Parse(isFinished))); - if (res.GetType() == typeof(CreatedResult)) + if (res.GetType() == typeof(CreatedResult)) { Console.WriteLine("\nSuccès créé avec succès"); - } + } else { Console.WriteLine("\nErreur lors de la création du succès !"); @@ -331,10 +331,10 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Quel est l'identifiant de l'utilisateur à mettre à jour ?"); var id = int.Parse(Console.ReadLine()); var res = (userController.GetUserById(id)); - if (res.GetType() == typeof(OkObjectResult)) + if (res.GetType() == typeof(OkObjectResult)) { var user = (res as OkObjectResult).Value as UserDTO; - if (user == null) + if (user == null) { Console.WriteLine("Erreur, un problème est survenu"); return; @@ -350,29 +350,29 @@ using (var context = new UserDbContext(options)) if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); - } + } else { Console.WriteLine("Une erreur est survenue lors de la mise à jour."); } } - } - else + } + else { Console.WriteLine("Une erreur est survenue lors de la mise à jour !"); } - } - + } + void UpdateInquiry() { Console.WriteLine("Quel est l'identifiant de l'enquête à mettre à jour ?"); var id = int.Parse(Console.ReadLine()); var res = (inquiryController.GetInquiryById(id)); - if (res.GetType() == typeof(OkObjectResult)) + if (res.GetType() == typeof(OkObjectResult)) { var user = (res as OkObjectResult).Value as InquiryDTO; - if (user == null) + if (user == null) { Console.WriteLine("Erreur, un problème est survenu"); return; @@ -386,37 +386,37 @@ using (var context = new UserDbContext(options)) var description = Console.ReadLine(); Console.WriteLine("Veuillez indiquer si l'enquête est accessible aux visiteurs (0/1) :"); var isUser = Console.ReadLine(); - Console.WriteLine("Veuillez saisir un commentaire :"); + Console.WriteLine("Veuillez saisir un commentaire :"); var database = Convert.ToInt32(Console.ReadLine()); - Console.WriteLine("Veuillez saisir un commentaire :"); + Console.WriteLine("Veuillez saisir un commentaire :"); var inquiryTable = Convert.ToInt32(Console.ReadLine()); - var retour = inquiryController.UpdateInquiry(id, new InquiryDTO(id, title, description, bool.Parse(isUser), database, inquiryTable)); + var retour = inquiryController.UpdateInquiry(id, new InquiryDTO(id, title, description, bool.Parse(isUser))); if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); - } + } else { Console.WriteLine("Une erreur est survenue lors de la mise à jour."); } } - } - else + } + else { Console.WriteLine("Une erreur est survenue lors de la mise à jour !"); } - } - + } + void UpdateParagraph() { Console.WriteLine("Quel est l'identifiant du paragraphe à mettre à jour ?"); var id = int.Parse(Console.ReadLine()); var res = (paragraphController.GetParagraphById(id)); - if (res.GetType() == typeof(OkObjectResult)) + if (res.GetType() == typeof(OkObjectResult)) { var paragraph = (res as OkObjectResult).Value as ParagraphDTO; - if (paragraph == null) + if (paragraph == null) { Console.WriteLine("Erreur, un problème est survenu"); return; @@ -434,35 +434,35 @@ using (var context = new UserDbContext(options)) var query = Console.ReadLine(); Console.WriteLine("Veuillez saisir un commentaire :"); var comment = Console.ReadLine(); - Console.WriteLine("Veuillez saisir l'id de la leçon :"); + Console.WriteLine("Veuillez saisir l'id de la leçon :"); var lesson = Convert.ToInt32(Console.ReadLine()); var retour = paragraphController.UpdateParagraph(id, new ParagraphDTO(id, title, content, info, query, comment, lesson)); if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); - } + } else { Console.WriteLine("Une erreur est survenue lors de la mise à jour."); } } - } - else + } + else { Console.WriteLine("Une erreur est survenue lors de la mise à jour !"); } - } - + } + void UpdateLesson() { Console.WriteLine("Quel est l'identifiant de la leçon à mettre à jour ?"); var id = int.Parse(Console.ReadLine()); var res = (lessonController.GetLessonById(id)); - if (res.GetType() == typeof(OkObjectResult)) + if (res.GetType() == typeof(OkObjectResult)) { var lesson = (res as OkObjectResult).Value as LessonDTO; - if (lesson == null) + if (lesson == null) { Console.WriteLine("Erreur, un problème est survenu"); return; @@ -478,29 +478,29 @@ using (var context = new UserDbContext(options)) if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); - } + } else { Console.WriteLine("Une erreur est survenue lors de la mise à jour."); } } - } - else + } + else { Console.WriteLine("Une erreur est survenue lors de la mise à jour !"); } - } - + } + void UpdateSuccess() { Console.WriteLine("Quel est l'identifiant de l'utilisateur lié au succès à mettre à jour ?"); var id = int.Parse(Console.ReadLine()); var res = (successController.GetSuccessByUserId(id)); - if (res.GetType() == typeof(OkObjectResult)) + if (res.GetType() == typeof(OkObjectResult)) { var lesson = (res as OkObjectResult).Value as SuccessDTO; - if (lesson == null) + if (lesson == null) { Console.WriteLine("Erreur, un problème est survenu"); return; @@ -518,14 +518,14 @@ using (var context = new UserDbContext(options)) if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); - } + } else { Console.WriteLine("Une erreur est survenue lors de la mise à jour."); } } - } - else + } + else { Console.WriteLine("Une erreur est survenue lors de la mise à jour !"); } @@ -577,8 +577,8 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Erreur lors de la suppression !"); } - } - + } + void DeleteLesson() { Console.WriteLine("Quel est l'identifiant de la leçon à supprimer ?"); @@ -593,8 +593,8 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Erreur lors de la suppression !"); } - } - + } + void DeleteSuccess() { Console.WriteLine("Quel est l'identifiant de l'utilisateur lié au succès à supprimer ?"); @@ -640,8 +640,8 @@ using (var context = new UserDbContext(options)) Console.WriteLine("| 6 - Supprimer une enquête |"); Console.WriteLine("| q - Quitter |"); Console.WriteLine("|------------------------------------------------|"); - } - + } + void MenuParagraphs() { Console.WriteLine("|------------------------------------------------|"); @@ -655,8 +655,8 @@ using (var context = new UserDbContext(options)) Console.WriteLine("| 6 - Supprimer un paragraphe |"); Console.WriteLine("| q - Quitter |"); Console.WriteLine("|------------------------------------------------|"); - } - + } + void MenuLessons() { Console.WriteLine("|------------------------------------------------|"); @@ -670,8 +670,8 @@ using (var context = new UserDbContext(options)) Console.WriteLine("| 6 - Supprimer une leçon |"); Console.WriteLine("| q - Quitter |"); Console.WriteLine("|------------------------------------------------|"); - } - + } + void MenuSuccesses() { Console.WriteLine("|------------------------------------------------|"); @@ -695,7 +695,7 @@ using (var context = new UserDbContext(options)) Console.WriteLine("\nSaisie :"); var saisie = Console.ReadLine(); - while (saisie != "q") + while (saisie != "q") { switch (saisie) { @@ -772,8 +772,8 @@ using (var context = new UserDbContext(options)) else { var users = res as IEnumerable; - if (users == null) - { + if (users == null) + { Console.WriteLine("\nErreur, les ustilisateurs n'ont pas été trouvés !"); } else diff --git a/API_SQLuedo/TestConsoleEf/Program.cs b/API_SQLuedo/TestConsoleEf/Program.cs index 3abb28e..fb63a8f 100644 --- a/API_SQLuedo/TestConsoleEf/Program.cs +++ b/API_SQLuedo/TestConsoleEf/Program.cs @@ -164,7 +164,7 @@ using (var db = new StubbedContext(options)) Console.WriteLine(sol.MurdererFirstName); var inquirySolution = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan"); - var i = inquirySolution.Solution; + var i = inquirySolution.Id; foreach (var pptt in typeof(SolutionEntity).GetProperties() .Where(p => p.CanWrite && p.Name != nameof(SolutionEntity.Owner))) { @@ -176,9 +176,7 @@ using (var db = new StubbedContext(options)) var newInquiry = new InquiryEntity( "La nouvelle enquete", "La description de la nouvelle enquete", - true, - null, - null); + 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 e43afc2..bee3d00 100644 --- a/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs +++ b/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs @@ -1,6 +1,6 @@ using Entities; -namespace TestEF; +namespace TestEF.EntitiesTests; public class TestInquiryEntity { @@ -8,8 +8,6 @@ public class TestInquiryEntity private const string _title = "Title"; private const string _description = "_description"; private const bool _isUser = true; - private static SolutionEntity _solution = new SolutionEntity(); - private static InquiryTableEntity _inquiryTable = new InquiryTableEntity(); [Fact] public void TestDefaultConstructor() @@ -18,8 +16,6 @@ public class TestInquiryEntity Assert.Equal(0, inquiry.Id); Assert.Null(inquiry.Title); Assert.Null(inquiry.Description); - Assert.Null(inquiry.Solution); - Assert.Null(inquiry.Database); Assert.False(inquiry.IsUser); } @@ -30,32 +26,26 @@ public class TestInquiryEntity Assert.Equal(_id, inquiry.Id); Assert.Null(inquiry.Title); Assert.Null(inquiry.Description); - Assert.Null(inquiry.Solution); - Assert.Null(inquiry.Database); Assert.False(inquiry.IsUser); } [Fact] public void TestConstructorWithoutId() { - InquiryEntity inquiry = new InquiryEntity(_title,_description,_isUser,_inquiryTable,_solution); + InquiryEntity inquiry = new InquiryEntity(_title,_description,_isUser); Assert.Equal(0, inquiry.Id); Assert.Equal(_title,inquiry.Title); Assert.Equal(_description,inquiry.Description); - Assert.Equal(_solution,inquiry.Solution); - Assert.Equal(_inquiryTable,inquiry.Database); Assert.True(inquiry.IsUser); } [Fact] public void TestConstructorWithAllAttributes() { - InquiryEntity inquiry = new InquiryEntity(_id,_title,_description,_isUser,_inquiryTable,_solution); + InquiryEntity inquiry = new InquiryEntity(_id,_title,_description,_isUser); Assert.Equal(_id, inquiry.Id); Assert.Equal(_title,inquiry.Title); Assert.Equal(_description,inquiry.Description); - Assert.Equal(_solution,inquiry.Solution); - Assert.Equal(_inquiryTable,inquiry.Database); Assert.True(inquiry.IsUser); } } \ No newline at end of file