debut utilisation des methodes d'extensions pour les enquêtes
continuous-integration/drone/push Build is failing Details

MethodeExtensions
Victor GABORIT 1 year ago
parent fdfb090424
commit 13a0cfd350

@ -13,12 +13,12 @@ namespace API.Controllers
[ApiController] [ApiController]
public class InquiriesController : Controller public class InquiriesController : Controller
{ {
private IInquiryDataService _inquiryDataService; private IdataService<UserDTO, LessonDTO, InquiryDTO, ParagraphDTO, SuccessDTO> _dataService;
private readonly ILogger<InquiriesController> _logger; private readonly ILogger<InquiriesController> _logger;
public InquiriesController(IInquiryDataService inquiryDataService, ILogger<InquiriesController> logger) public InquiriesController(IdataService<UserDTO, LessonDTO, InquiryDTO, ParagraphDTO, SuccessDTO> dataService, ILogger<InquiriesController> logger)
{ {
_inquiryDataService = inquiryDataService; _dataService = dataService;
_logger = logger; _logger = logger;
} }
@ -27,14 +27,14 @@ namespace API.Controllers
[ProducesResponseType(typeof(string), 204)] [ProducesResponseType(typeof(string), 204)]
public IActionResult GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) public IActionResult GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria)
{ {
var nbInquiry = _inquiryDataService.GetInquiries(page, number, orderCriteria).Count(); var inquiries = ( _dataService.inquiryService.GetInquiries(page, number, orderCriteria)).ToList();
if (nbInquiry == 0) if (inquiries.Count() == 0)
{ {
_logger.LogError("[ERREUR] Aucune enquête trouvée."); _logger.LogError("[ERREUR] Aucune enquête trouvée.");
return StatusCode(204); return StatusCode(204);
} }
_logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", nbInquiry); _logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", inquiries.Count);
return Ok(_inquiryDataService.GetInquiries(page, number, orderCriteria)); return Ok(inquiries);
} }
[HttpGet("inquiry/{id}")] [HttpGet("inquiry/{id}")]
@ -45,7 +45,7 @@ namespace API.Controllers
try try
{ {
_logger.LogInformation("[INFORMATION] L'enquête avec l'id {id} a été trouvé.", id); _logger.LogInformation("[INFORMATION] L'enquête avec l'id {id} a été trouvé.", id);
return Ok(_inquiryDataService.GetInquiryById(id)); return Ok(_dataService.inquiryService.GetInquiryById(id));
} }
catch (ArgumentException) catch (ArgumentException)
{ {
@ -62,7 +62,7 @@ namespace API.Controllers
try try
{ {
_logger.LogInformation("[INFORMATION] L'enquête avec le titre {title} a été trouvé.", title); _logger.LogInformation("[INFORMATION] L'enquête avec le titre {title} a été trouvé.", title);
return Ok(_inquiryDataService.GetInquiryByTitle(title)); return Ok(_dataService.inquiryService.GetInquiryByTitle(title));
} }
catch (ArgumentException) catch (ArgumentException)
{ {
@ -76,11 +76,11 @@ namespace API.Controllers
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult DeleteInquiry(int id) public IActionResult DeleteInquiry(int id)
{ {
var success = _inquiryDataService.DeleteInquiry(id); var success = _dataService.inquiryService.DeleteInquiry(id);
if (success) if (success)
{ {
_logger.LogInformation("[INFORMATION] L'enquête avec l'id {id} a été supprimé.", id); _logger.LogInformation("[INFORMATION] L'enquête avec l'id {id} a été supprimé.", id);
return Ok(_inquiryDataService.DeleteInquiry(id)); return Ok(_dataService.inquiryService.DeleteInquiry(id));
} }
else else
{ {
@ -100,7 +100,7 @@ namespace API.Controllers
return BadRequest(); 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); _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)); return Created(nameof(GetInquiries), _dataService.inquiryService.CreateInquiry(dto.Title, dto.Description, dto.IsUser, dto.Database, dto.InquiryTable));
} }
[HttpPut("inquiry/{id}")] [HttpPut("inquiry/{id}")]
@ -122,7 +122,7 @@ namespace API.Controllers
if (inquiryDTO != null) if (inquiryDTO != null)
{ {
_logger.LogInformation("[INFORMATION] La mise à jour de l'enquête avec l'id {id} a été effectuée", id); _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)); return Ok(_dataService.inquiryService.UpdateInquiry(id, inquiryDTO));
} }
_logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); _logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id);
return NotFound(); return NotFound();

@ -6,6 +6,11 @@ namespace API.Service;
public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService) : IInquiryService<InquiryEntity> public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService) : IInquiryService<InquiryEntity>
{ {
public Task<InquiryEntity?> AddItem(InquiryEntity? item)
{
return inquiryService.AddItem(item);
}
public InquiryEntity CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId) public InquiryEntity CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId)
{ {
return inquiryService.CreateInquiry(title, description, isUser, tableId, solutionId); return inquiryService.CreateInquiry(title, description, isUser, tableId, solutionId);
@ -16,6 +21,11 @@ public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService
return inquiryService.DeleteInquiry(id); return inquiryService.DeleteInquiry(id);
} }
public Task<bool> DeleteItem(int id)
{
return inquiryService.DeleteItem(id);
}
public IEnumerable<InquiryEntity> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) public IEnumerable<InquiryEntity> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria)
{ {
var inquiries = inquiryService.GetInquiries(page, number, orderCriteria); var inquiries = inquiryService.GetInquiries(page, number, orderCriteria);
@ -26,8 +36,18 @@ public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService
public InquiryEntity GetInquiryByTitle(string title) => inquiryService.GetInquiryByTitle(title); public InquiryEntity GetInquiryByTitle(string title) => inquiryService.GetInquiryByTitle(title);
public Task<IEnumerable<InquiryEntity>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null)
{
return inquiryService.GetItems(page, count, orderCriteria, filter, valueFilter);
}
public InquiryEntity UpdateInquiry(int id, InquiryEntity inquiry) public InquiryEntity UpdateInquiry(int id, InquiryEntity inquiry)
{ {
return inquiryService.UpdateInquiry(id, inquiry); return inquiryService.UpdateInquiry(id, inquiry);
} }
public Task<InquiryEntity> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class
{
return inquiryService.UpdateItem<TDto>(id, newItem);
}
} }

@ -3,6 +3,7 @@ using Entities;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Model.OrderCriteria; using Model.OrderCriteria;
using Shared; using Shared;
using Shared.ModelToEntities;
namespace DbDataManager.Service; namespace DbDataManager.Service;
@ -90,4 +91,25 @@ public class InquiryDataService : IInquiryService<InquiryEntity>
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();
return newInquiryEntity; return newInquiryEntity;
} }
public Task<InquiryEntity?> AddItem(InquiryEntity? item)
{
throw new NotImplementedException();
}
public Task<bool> DeleteItem(int id)
{
throw new NotImplementedException();
}
public Task<InquiryEntity> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class
{
throw new NotImplementedException();
}
public async Task<IEnumerable<InquiryEntity>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null)
{
var inquiries = await DbContext.GetItemsWithFilter<InquiryEntity>(page, count, orderCriteria, filter, valueFilter);
return inquiries;
}
} }

@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace Shared namespace Shared
{ {
public class DataService<TUser, Tlesson, TInquiry, TParagraphe, TSucesss> : IdataService<TUser, Tlesson, TInquiry, TParagraphe, TSucesss> where TUser : class public class DataService<TUser, Tlesson, TInquiry, TParagraphe, TSucesss> : IdataService<TUser, Tlesson, TInquiry, TParagraphe, TSucesss> where TUser : class where TInquiry : class
{ {
private UserDbContext _dbContext; private UserDbContext _dbContext;
public DataService(UserDbContext userDbContext, IUserService<TUser> userService, ILessonService<Tlesson> lessonService, IInquiryService<TInquiry> inquiryService, IParagraphService<TParagraphe> paragrapheService, ISuccessService<TSucesss> sucessService) public DataService(UserDbContext userDbContext, IUserService<TUser> userService, ILessonService<Tlesson> lessonService, IInquiryService<TInquiry> inquiryService, IParagraphService<TParagraphe> paragrapheService, ISuccessService<TSucesss> sucessService)

@ -2,7 +2,7 @@
namespace Shared; namespace Shared;
public interface IInquiryService<TInquiry> public interface IInquiryService<TInquiry> : IGenericDataService<TInquiry> where TInquiry : class
{ {
public IEnumerable<TInquiry> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria); public IEnumerable<TInquiry> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria);
public TInquiry GetInquiryById(int id); public TInquiry GetInquiryById(int id);

@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Shared namespace Shared
{ {
public interface IdataService<TUser, Tlesson, TInquiry, TParagraphe, TSucesss> where TUser : class public interface IdataService<TUser, Tlesson, TInquiry, TParagraphe, TSucesss> where TUser : class where TInquiry : class
{ {
IUserService<TUser> userService { get; } IUserService<TUser> userService { get; }
IInquiryService<TInquiry> inquiryService { get; } IInquiryService<TInquiry> inquiryService { get; }

@ -4,6 +4,7 @@ using Dto;
using Model.OrderCriteria; using Model.OrderCriteria;
using DbContextLib; using DbContextLib;
using Shared.Mapper; using Shared.Mapper;
using Shared.ModelToEntities;
namespace Shared; namespace Shared;
@ -95,4 +96,25 @@ public class InquiryDataService : IInquiryDataService
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();
return updatingInquiry.FromEntityToDTO(); return updatingInquiry.FromEntityToDTO();
} }
public Task<InquiryDTO?> AddItem(InquiryDTO? item)
{
throw new NotImplementedException();
}
public Task<bool> DeleteItem(int id)
{
throw new NotImplementedException();
}
public Task<InquiryDTO> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class
{
throw new NotImplementedException();
}
public async Task<IEnumerable<InquiryDTO>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null)
{
var inquiries = await DbContext.GetItemsWithFilter<InquiryEntity>(page, count, orderCriteria, filter, valueFilter);
return inquiries.Select(i => i.FromEntityToDTO());
}
} }

Loading…
Cancel
Save