diff --git a/API_SQLuedo/API/Controllers/InquiriesController.cs b/API_SQLuedo/API/Controllers/InquiriesController.cs deleted file mode 100644 index e42d14e..0000000 --- a/API_SQLuedo/API/Controllers/InquiriesController.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Model.DTO; -using Services; - -namespace API.Controllers -{ - [Route("api/[controller]")] - [Authorize] - [ApiController] - public class InquiriesController : Controller - { - private IDataService _inquiryDataService; - - private readonly ILogger _logger; - - public InquiriesController(IDataService inquiryDataService) - { - _inquiryDataService = inquiryDataService; - } - - [HttpGet("inquiries/{page}/{number}")] - public IActionResult GetInquiries(int page, int number) - { - var nbInquiry = _inquiryDataService.GetInquiries(page, number).Count(); - if (nbInquiry == 0) - { - _logger.LogError("[ERREUR] Aucune enquête trouvé."); - return StatusCode(204); - } - _logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", nbInquiry); - return Ok(_inquiryDataService.GetInquiries(page, number)); - } - - [HttpGet("inquiry/id/{id}")] - public IActionResult GetInquiryById(int id) - { - try - { - _logger.LogInformation("[INFORMATION] Enquête avec l'id {id} a été trouvé.", id); - return Ok(_inquiryDataService.GetInquiryById(id)); - } - catch (ArgumentException) - { - _logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); - return NotFound(); - } - } - - [HttpGet("inquiry/title/{title}")] - public IActionResult GetInquiryByTitle(string title) - { - try - { - _logger.LogInformation("[INFORMATION] Enquête avec le titre {title} a été trouvé.", title); - return Ok(_inquiryDataService.GetInquiryByTitle(title)); - } - catch (ArgumentException) - { - _logger.LogError("[ERREUR] Aucune enquête trouvée avec le titre {title}.", title); - return NotFound(); - } - } - } -} \ No newline at end of file diff --git a/API_SQLuedo/API/Controllers/InquiryController.cs b/API_SQLuedo/API/Controllers/InquiryController.cs new file mode 100644 index 0000000..c6326ad --- /dev/null +++ b/API_SQLuedo/API/Controllers/InquiryController.cs @@ -0,0 +1,115 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Model.DTO; +using Services; + +namespace API.Controllers +{ + [Route("api/[controller]")] + [Authorize] + [ApiController] + public class InquiryController : Controller + { + private IDataService _inquiryDataService; + + private readonly ILogger _logger; + + public InquiryController(IDataService inquiryDataService) + { + _inquiryDataService = inquiryDataService; + } + + [HttpGet("inquiries/{page}/{number}")] + public IActionResult GetInquiries(int page, int number) + { + var nbInquiry = _inquiryDataService.GetInquiries(page, number).Count(); + if (nbInquiry == 0) + { + _logger.LogError("[ERREUR] Aucune enquête trouvée."); + return StatusCode(204); + } + _logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", nbInquiry); + return Ok(_inquiryDataService.GetInquiries(page, number)); + } + + [HttpGet("inquiry/id/{id}")] + public IActionResult GetInquiryById(int id) + { + try + { + _logger.LogInformation("[INFORMATION] L'enquête avec l'id {id} a été trouvé.", id); + return Ok(_inquiryDataService.GetInquiryById(id)); + } + catch (ArgumentException) + { + _logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); + return NotFound(); + } + } + + [HttpGet("inquiry/title/{title}")] + public IActionResult GetInquiryByTitle(string title) + { + try + { + _logger.LogInformation("[INFORMATION] L'enquête avec le titre {title} a été trouvé.", title); + return Ok(_inquiryDataService.GetInquiryByTitle(title)); + } + catch (ArgumentException) + { + _logger.LogError("[ERREUR] Aucune enquête trouvée avec le titre {title}.", title); + return NotFound(); + } + } + + [HttpDelete] + public IActionResult DeleteInquiry(int id) + { + var success = _inquiryDataService.DeleteInquiry(id); + if (success) + { + _logger.LogInformation("[INFORMATION] L'enquête avec l'id {id} a été supprimé.", id); + return Ok(_inquiryDataService.DeleteInquiry(id)); + } + else + { + _logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); + return NotFound(); + } + + } + + [HttpPost] + public IActionResult CreateInquiry([FromBody] InquiryDTO dto) + { + if (dto.Title == null || dto.Description == null || dto.Database == null || dto.InquiryTable == 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)); + } + + [HttpPut] + public IActionResult UpdateInquiry(int id, [FromBody] InquiryDTO inquiryDTO) + { + if (id != inquiryDTO.Id) + { + _logger.LogError("[ERREUR] Problème ID - La mise à jour de l'enquête avec l'id {id} a échouée.", id); + return BadRequest(); + } + if (!ModelState.IsValid) + { + _logger.LogError("[ERREUR] Problème controlleur - La mise à jour de l'enquête avec l'id {id} a échouée.", id); + return BadRequest(); + } + if (inquiryDTO != null) + { + _logger.LogInformation("[INFORMATION] La mise à jour de l'enquête avec l'id {id} a été effectuée", id); + return Ok(_inquiryDataService.UpdateInquiry(id, inquiryDTO)); + } + _logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); + return NotFound(); + } + } +} \ No newline at end of file diff --git a/API_SQLuedo/API/Controllers/LessonController.cs b/API_SQLuedo/API/Controllers/LessonController.cs new file mode 100644 index 0000000..912196e --- /dev/null +++ b/API_SQLuedo/API/Controllers/LessonController.cs @@ -0,0 +1,115 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Model.DTO; +using Services; + +namespace API.Controllers +{ + [Route("api/[controller]")] + [Authorize] + [ApiController] + public class LessonController : Controller + { + private IDataService _lessonDataService; + + private readonly ILogger _logger; + + public LessonController(IDataService lessonDataService) + { + _lessonDataService = lessonDataService; + } + + [HttpGet("lessons/{page}/{number}")] + public IActionResult GetLessons(int page, int number) + { + var nbLesson = _lessonDataService.GetInquiries(page, number).Count(); + if (nbLesson == 0) + { + _logger.LogError("[ERREUR] Aucune leçon trouvée."); + return StatusCode(204); + } + _logger.LogInformation("[INFORMATION] {nb} Leçon(s) trouvée(s)", nbLesson); + return Ok(_lessonDataService.GetLessons(page, number)); + } + + [HttpGet("lesson/id/{id}")] + public IActionResult GetLessonById(int id) + { + try + { + _logger.LogInformation("[INFORMATION] La leçon avec l'id {id} a été trouvé.", id); + return Ok(_lessonDataService.GetLessonById(id)); + } + catch (ArgumentException) + { + _logger.LogError("[ERREUR] Aucune leçon trouvée avec l'id {id}.", id); + return NotFound(); + } + } + + [HttpGet("lesson/title/{title}")] + public IActionResult GetLessonByTitle(string title) + { + try + { + _logger.LogInformation("[INFORMATION] La leçon avec le titre {title} a été trouvé.", title); + return Ok(_lessonDataService.GetLessonByTitle(title)); + } + catch (ArgumentException) + { + _logger.LogError("[ERREUR] Aucune leçon trouvée avec le titre {title}.", title); + return NotFound(); + } + } + + [HttpDelete] + public IActionResult DeleteLesson(int id) + { + var success = _lessonDataService.DeleteLesson(id); + if (success) + { + _logger.LogInformation("[INFORMATION] La leçon avec l'id {id} a été supprimé.", id); + return Ok(_lessonDataService.DeleteLesson(id)); + } + else + { + _logger.LogError("[ERREUR] Aucune leçon trouvée avec l'id {id}.", id); + return NotFound(); + } + + } + + [HttpPost] + public IActionResult CreateLesson([FromBody] LessonDTO dto) + { + if (dto.Title == null || dto.LastPublisher == null) + { + return BadRequest(); + } + _logger.LogInformation("[INFORMATION] Une leçon a été créé : title - {title}, lastPublisher - {publisher}, lastEdit - {lastEdit}", dto.Title, dto.LastPublisher, dto.LastEdit); + return Created(nameof(GetLessons), _lessonDataService.CreateLesson(dto.Title, dto.LastPublisher, dto.LastEdit)); + } + + [HttpPut] + public IActionResult UpdateLesson(int id, [FromBody] LessonDTO lessonDTO) + { + if (id != lessonDTO.Id) + { + _logger.LogError("[ERREUR] Problème ID - La mise à jour de la leçon avec l'id {id} a échouée.", id); + return BadRequest(); + } + if (!ModelState.IsValid) + { + _logger.LogError("[ERREUR] Problème controlleur - La mise à jour de la leçon avec l'id {id} a échouée.", id); + return BadRequest(); + } + if (lessonDTO != null) + { + _logger.LogInformation("[INFORMATION] La mise à jour de la leçon avec l'id {id} a été effectuée", id); + return Ok(_lessonDataService.UpdateLesson(id, lessonDTO)); + } + _logger.LogError("[ERREUR] Aucune leçon trouvée avec l'id {id}.", id); + return NotFound(); + } + } +} \ No newline at end of file diff --git a/API_SQLuedo/API/Controllers/UserController.cs b/API_SQLuedo/API/Controllers/UserController.cs index 8518f62..a711180 100644 --- a/API_SQLuedo/API/Controllers/UserController.cs +++ b/API_SQLuedo/API/Controllers/UserController.cs @@ -1,118 +1,118 @@ -using DbContextLib; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; -using Model.Business; -using Model.DTO; -using Services; - -namespace API.Controllers -{ - [Route("api/[controller]")] - [Authorize] - [ApiController] - public class UserController : Controller - { +using DbContextLib; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Model.Business; +using Model.DTO; +using Services; + +namespace API.Controllers +{ + [Route("api/[controller]")] + [Authorize] + [ApiController] + public class UserController : Controller + { private IDataService _userDataService; - private readonly ILogger _logger; - - public UserController(IDataService userDataService, ILogger logger) - { - _userDataService = userDataService; - _logger = logger; - } - - [HttpGet("users/{page}/{number}")] - public IActionResult GetUsers(int page, int number) - { - var nbUser = _userDataService.GetUsers(page, number).Count(); - if(nbUser == 0) - { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé."); - return StatusCode(204); - } - _logger.LogInformation("[INFORMATION] {nb} Utilisateur(s) trouvé(s)", nbUser); - return Ok(_userDataService.GetUsers(page, number)); - } - - [HttpGet("user/id/{id}")] - public IActionResult GetUserById(int id) - { - try - { - _logger.LogInformation("[INFORMATION] Utilisateur avec l'id {id} a été trouvé.", id); - return Ok(_userDataService.GetUserById(id)); - } catch (ArgumentException) - { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); - return NotFound(); - } - } - - [HttpGet("user/username/{username}")] - public IActionResult GetUserByUsername(string username) - { - try - { - _logger.LogInformation("[INFORMATION] Utilisateur avec l'username {username} a été trouvé.", username); - return Ok(_userDataService.GetUserByUsername(username)); - }catch (ArgumentException) - { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'username {username}.", username); - return NotFound(); - } - - } - - [HttpDelete] - public IActionResult DeleteUser(int id) - { - var success = _userDataService.DeleteUser(id); - if(success) - { - _logger.LogInformation("[INFORMATION] L'utilisateur avec l'id {id} a été supprimé.", id); - return Ok(_userDataService.DeleteUser(id)); - } else - { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); - return NotFound(); - } - - } - - [HttpPost] - public IActionResult CreateUser([FromBody]UserDTO dto) - { + private readonly ILogger _logger; + + public UserController(IDataService userDataService, ILogger logger) + { + _userDataService = userDataService; + _logger = logger; + } + + [HttpGet("users/{page}/{number}")] + public IActionResult GetUsers(int page, int number) + { + var nbUser = _userDataService.GetUsers(page, number).Count(); + if(nbUser == 0) + { + _logger.LogError("[ERREUR] Aucun utilisateur trouvé."); + return StatusCode(204); + } + _logger.LogInformation("[INFORMATION] {nb} Utilisateur(s) trouvé(s)", nbUser); + return Ok(_userDataService.GetUsers(page, number)); + } + + [HttpGet("user/id/{id}")] + public IActionResult GetUserById(int id) + { + try + { + _logger.LogInformation("[INFORMATION] Utilisateur avec l'id {id} a été trouvé.", id); + return Ok(_userDataService.GetUserById(id)); + } catch (ArgumentException) + { + _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); + return NotFound(); + } + } + + [HttpGet("user/username/{username}")] + public IActionResult GetUserByUsername(string username) + { + try + { + _logger.LogInformation("[INFORMATION] Utilisateur avec l'username {username} a été trouvé.", username); + return Ok(_userDataService.GetUserByUsername(username)); + }catch (ArgumentException) + { + _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'username {username}.", username); + return NotFound(); + } + + } + + [HttpDelete] + public IActionResult DeleteUser(int id) + { + var success = _userDataService.DeleteUser(id); + if(success) + { + _logger.LogInformation("[INFORMATION] L'utilisateur avec l'id {id} a été supprimé.", id); + return Ok(_userDataService.DeleteUser(id)); + } else + { + _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); + return NotFound(); + } + + } + + [HttpPost] + public IActionResult CreateUser([FromBody]UserDTO dto) + { if (dto.Username == null || dto.Password == null || dto.Email == null) { return BadRequest(); - } - // return Ok(_userDataService.CreateUser(username, password, email, isAdmin)); - _logger.LogInformation("[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}", dto.Username, dto.Password, dto.Email, dto.IsAdmin); - return Created(nameof(GetUsers), _userDataService.CreateUser(dto.Username, dto.Password, dto.Email, dto.IsAdmin)); - } - - [HttpPut] - public IActionResult UpdateUser(int id, [FromBody] UserDTO userDTO) - { - if(id != userDTO.Id) + } + // return Ok(_userDataService.CreateUser(username, password, email, isAdmin)); + _logger.LogInformation("[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}", dto.Username, dto.Password, dto.Email, dto.IsAdmin); + return Created(nameof(GetUsers), _userDataService.CreateUser(dto.Username, dto.Password, dto.Email, dto.IsAdmin)); + } + + [HttpPut] + public IActionResult UpdateUser(int id, [FromBody] UserDTO userDTO) + { + if(id != userDTO.Id) + { + _logger.LogError("[ERREUR] Problème ID - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); + return BadRequest(); + } + if(!ModelState.IsValid) + { + _logger.LogError("[ERREUR] Problème controlleur - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); + return BadRequest(); + } + if(userDTO != null) { - _logger.LogError("[ERREUR] Problème ID - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); - return BadRequest(); - } - if(!ModelState.IsValid) - { - _logger.LogError("[ERREUR] Problème controlleur - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); - return BadRequest(); - } - if(userDTO != null) - { - _logger.LogInformation("[INFORMATION] La mise à jour de l'utilsiateur avec l'id {id} a été effectuée", id); - return Ok(_userDataService.UpdateUser(id, userDTO)); - } - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); - return NotFound(); - } - } -} + _logger.LogInformation("[INFORMATION] La mise à jour de l'utilisateur avec l'id {id} a été effectuée", id); + return Ok(_userDataService.UpdateUser(id, userDTO)); + } + _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); + return NotFound(); + } + } +} diff --git a/API_SQLuedo/EntityFramework/SQLudeoDB/InquiryEntity.cs b/API_SQLuedo/EntityFramework/SQLudeoDB/InquiryEntity.cs index b3f18b9..cebbce1 100644 --- a/API_SQLuedo/EntityFramework/SQLudeoDB/InquiryEntity.cs +++ b/API_SQLuedo/EntityFramework/SQLudeoDB/InquiryEntity.cs @@ -25,5 +25,14 @@ namespace Entities.SQLudeoDB Database = database; InquiryTable = inquiryTable; } + + public InquiryEntity(string title, string description, bool isUser, InquiryTableEntity database, SolutionEntity inquiryTable) + { + Title = title; + Description = description; + IsUser = isUser; + Database = database; + InquiryTable = inquiryTable; + } } } diff --git a/API_SQLuedo/EntityFramework/SQLudeoDB/LessonEntity.cs b/API_SQLuedo/EntityFramework/SQLudeoDB/LessonEntity.cs index 02cc9ee..bd869f3 100644 --- a/API_SQLuedo/EntityFramework/SQLudeoDB/LessonEntity.cs +++ b/API_SQLuedo/EntityFramework/SQLudeoDB/LessonEntity.cs @@ -9,22 +9,22 @@ namespace Entities.SQLudeoDB public class LessonEntity { public int Id { get; set; } - public string Titla { get; set; } + public string Title { get; set; } public string LastPublisher { get; set; } public DateOnly LastEdit { get; set; } public LessonEntity() { } - public LessonEntity(int id, string titla, string lastPublisher, DateOnly lastEdit) + public LessonEntity(int id, string title, string lastPublisher, DateOnly lastEdit) { Id = id; - Titla = titla; + Title = title; LastPublisher = lastPublisher; LastEdit = lastEdit; } - public LessonEntity(string titla, string lastPublisher, DateOnly lastEdit) + public LessonEntity(string title, string lastPublisher, DateOnly lastEdit) { - Titla = titla; + Title = title; LastPublisher = lastPublisher; LastEdit = lastEdit; } diff --git a/API_SQLuedo/Model/Business/Inquiry.cs b/API_SQLuedo/Model/Business/Inquiry.cs index e867bd0..d15b929 100644 --- a/API_SQLuedo/Model/Business/Inquiry.cs +++ b/API_SQLuedo/Model/Business/Inquiry.cs @@ -1,4 +1,5 @@ -using System; +using Entities.SQLudeoDB; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -8,5 +9,22 @@ namespace Model.Business { public class Inquiry { + public int Id { get; set; } + public string Title { get; set; } + public string Description { get; set; } + public bool IsUser { get; set; } + public InquiryTableEntity Database { get; set; } + public SolutionEntity InquiryTable { get; set; } + public Inquiry() { } + + public Inquiry(int id, string title, string description, bool isUser, InquiryTableEntity database, SolutionEntity inquiryTable) + { + Id = id; + Title = title; + Description = description; + IsUser = isUser; + Database = database; + InquiryTable = inquiryTable; + } } } diff --git a/API_SQLuedo/Model/Business/Lesson.cs b/API_SQLuedo/Model/Business/Lesson.cs new file mode 100644 index 0000000..0fdcb9c --- /dev/null +++ b/API_SQLuedo/Model/Business/Lesson.cs @@ -0,0 +1,26 @@ +using Entities.SQLudeoDB; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model.Business +{ + public class Lesson + { + public int Id { get; set; } + public string Title { get; set; } + public string LastPublisher { get; set; } + public DateOnly LastEdit { get; set; } + + public Lesson() { } + public Lesson(int id, string title, string lastPublisher, DateOnly lastEdit) + { + Id = id; + Title = title; + LastPublisher = lastPublisher; + LastEdit = lastEdit; + } + } +} diff --git a/API_SQLuedo/Model/DTO/InquiryDTO.cs b/API_SQLuedo/Model/DTO/InquiryDTO.cs index f4060db..f260381 100644 --- a/API_SQLuedo/Model/DTO/InquiryDTO.cs +++ b/API_SQLuedo/Model/DTO/InquiryDTO.cs @@ -1,4 +1,5 @@ -using System; +using Entities.SQLudeoDB; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -8,5 +9,22 @@ namespace Model.DTO { public class InquiryDTO { + public int Id { get; set; } + public string Title { get; set; } + public string Description { get; set; } + public bool IsUser { get; set; } + public InquiryTableEntity Database { get; set; } + public SolutionEntity InquiryTable { get; set; } + public InquiryDTO() { } + + public InquiryDTO(int id, string title, string description, bool isUser, InquiryTableEntity database, SolutionEntity inquiryTable) + { + Id = id; + Title = title; + Description = description; + IsUser = isUser; + Database = database; + InquiryTable = inquiryTable; + } } } diff --git a/API_SQLuedo/Model/DTO/LessonDTO.cs b/API_SQLuedo/Model/DTO/LessonDTO.cs new file mode 100644 index 0000000..d33ad26 --- /dev/null +++ b/API_SQLuedo/Model/DTO/LessonDTO.cs @@ -0,0 +1,26 @@ +using Entities.SQLudeoDB; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model.DTO +{ + public class LessonDTO + { + public int Id { get; set; } + public string Title { get; set; } + public string LastPublisher { get; set; } + public DateOnly LastEdit { get; set; } + + public LessonDTO() { } + public LessonDTO(int id, string title, string lastPublisher, DateOnly lastEdit) + { + Id = id; + Title = title; + LastPublisher = lastPublisher; + LastEdit = lastEdit; + } + } +} diff --git a/API_SQLuedo/Model/Mappers/InquiryMapper.cs b/API_SQLuedo/Model/Mappers/InquiryMapper.cs index c4e916e..b38cf2c 100644 --- a/API_SQLuedo/Model/Mappers/InquiryMapper.cs +++ b/API_SQLuedo/Model/Mappers/InquiryMapper.cs @@ -1,4 +1,7 @@ -using System; +using Entities.SQLudeoDB; +using Model.Business; +using Model.DTO; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,26 +9,26 @@ using System.Threading.Tasks; namespace Model.Mappers { - public class InquiryMapper + public static class InquiryMapper { - public object FromDTOToModel() + public static Inquiry FromDTOToModel(this InquiryDTO dto) { - throw new NotImplementedException(); + return new Inquiry(dto.Id, dto.Title, dto.Description, dto.IsUser, dto.Database, dto.InquiryTable); } - public object FromEntityToModel() + public static Inquiry FromEntityToModel(this InquiryEntity entity) { - throw new NotImplementedException(); + return new Inquiry(entity.Id, entity.Title, entity.Description, entity.IsUser, entity.Database, entity.InquiryTable); } - public object FromModelToDTO() + public static InquiryDTO FromModelToDTO(this Inquiry inquiry) { - throw new NotImplementedException(); + return new InquiryDTO(inquiry.Id, inquiry.Title, inquiry.Description, inquiry.IsUser, inquiry.Database, inquiry.InquiryTable); } - public object FromModelToEntity() + public static InquiryEntity FromModelToEntity(this Inquiry inquiry) { - throw new NotImplementedException(); + return new InquiryEntity(inquiry.Id, inquiry.Title, inquiry.Description, inquiry.IsUser, inquiry.Database, inquiry.InquiryTable); } } } diff --git a/API_SQLuedo/Model/Mappers/LessonMapper.cs b/API_SQLuedo/Model/Mappers/LessonMapper.cs new file mode 100644 index 0000000..04b8184 --- /dev/null +++ b/API_SQLuedo/Model/Mappers/LessonMapper.cs @@ -0,0 +1,29 @@ +using Entities.SQLudeoDB; +using Model.Business; +using Model.DTO; + +namespace Model.Mappers +{ + public static class LessonMapper + { + public static Lesson FromDTOToModel(this LessonDTO dto) + { + return new Lesson(dto.Id, dto.Title, dto.LastPublisher, dto.LastEdit); + } + + public static Lesson FromEntityToModel(this LessonEntity entity) + { + return new Lesson(entity.Id, entity.Title, entity.LastPublisher, entity.LastEdit); + } + + public static LessonDTO FromModelToDTO(this Lesson lesson) + { + return new LessonDTO(lesson.Id, lesson.Title, lesson.LastPublisher, lesson.LastEdit); + } + + public static LessonEntity FromModelToEntity(this Lesson lesson) + { + return new LessonEntity(lesson.Id, lesson.Title, lesson.LastPublisher, lesson.LastEdit); + } + } +} diff --git a/API_SQLuedo/Services/IDataService.cs b/API_SQLuedo/Services/IDataService.cs index a3faad9..c9f84dc 100644 --- a/API_SQLuedo/Services/IDataService.cs +++ b/API_SQLuedo/Services/IDataService.cs @@ -1,4 +1,5 @@ -using Model.Business; +using Entities.SQLudeoDB; +using Model.Business; using Model.DTO; namespace Services @@ -14,5 +15,14 @@ namespace Services public IEnumerable GetInquiries(int page, int number); public InquiryDTO GetInquiryById(int id); public InquiryDTO GetInquiryByTitle(string title); + public bool DeleteInquiry(int id); + public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry); + public UserDTO CreateInquiry(string title, string description, bool isUser, InquiryTableEntity database, SolutionEntity inquiryTable); + public IEnumerable GetLessons(int page, int number); + public InquiryDTO GetLessonById(int id); + public InquiryDTO GetLessonByTitle(string title); + public bool DeleteLesson(int id); + public InquiryDTO UpdateLesson(int id, LessonDTO lesson); + public UserDTO CreateLesson(string title, string lastPublisher, DateOnly lastEdit); } } diff --git a/API_SQLuedo/Services/UserDataService.cs b/API_SQLuedo/Services/UserDataService.cs index ddaa3e6..1533da7 100644 --- a/API_SQLuedo/Services/UserDataService.cs +++ b/API_SQLuedo/Services/UserDataService.cs @@ -8,6 +8,7 @@ using System.Threading.Tasks; using Model.Mappers; using Model.Business; using Microsoft.EntityFrameworkCore; +using Entities.SQLudeoDB; namespace Services { @@ -103,5 +104,49 @@ namespace Services { throw new NotImplementedException(); } + public UserDTO CreateInquiry(string title, string description, bool isUser, InquiryTableEntity database, SolutionEntity inquiryTable) + { + throw new NotImplementedException(); + } + + public bool DeleteInquiry(int id) + { + throw new NotImplementedException(); + } + + public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry) + { + throw new NotImplementedException(); + } + + public IEnumerable GetLessons(int page, int number) + { + throw new NotImplementedException(); + } + + public InquiryDTO GetLessonById(int id) + { + throw new NotImplementedException(); + } + + public InquiryDTO GetLessonByTitle(string title) + { + throw new NotImplementedException(); + } + + public bool DeleteLesson(int id) + { + throw new NotImplementedException(); + } + + public InquiryDTO UpdateLesson(int id, LessonDTO lesson) + { + throw new NotImplementedException(); + } + + public UserDTO CreateLesson(string title, string lastPublisher, DateOnly lastEdit) + { + throw new NotImplementedException(); + } } }