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]
public class InquiriesController : Controller
{
private IInquiryDataService _inquiryDataService;
private IdataService<UserDTO, LessonDTO, InquiryDTO, ParagraphDTO, SuccessDTO> _dataService;
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;
}
@ -27,14 +27,14 @@ namespace API.Controllers
[ProducesResponseType(typeof(string), 204)]
public IActionResult GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria)
{
var nbInquiry = _inquiryDataService.GetInquiries(page, number, orderCriteria).Count();
if (nbInquiry == 0)
var inquiries = ( _dataService.inquiryService.GetInquiries(page, number, orderCriteria)).ToList();
if (inquiries.Count() == 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, orderCriteria));
_logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", inquiries.Count);
return Ok(inquiries);
}
[HttpGet("inquiry/{id}")]
@ -45,7 +45,7 @@ namespace API.Controllers
try
{
_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)
{
@ -62,7 +62,7 @@ namespace API.Controllers
try
{
_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)
{
@ -76,11 +76,11 @@ namespace API.Controllers
[ProducesResponseType(typeof(string), 404)]
public IActionResult DeleteInquiry(int id)
{
var success = _inquiryDataService.DeleteInquiry(id);
var success = _dataService.inquiryService.DeleteInquiry(id);
if (success)
{
_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
{
@ -100,7 +100,7 @@ namespace API.Controllers
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));
return Created(nameof(GetInquiries), _dataService.inquiryService.CreateInquiry(dto.Title, dto.Description, dto.IsUser, dto.Database, dto.InquiryTable));
}
[HttpPut("inquiry/{id}")]
@ -122,7 +122,7 @@ namespace API.Controllers
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));
return Ok(_dataService.inquiryService.UpdateInquiry(id, inquiryDTO));
}
_logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id);
return NotFound();

@ -6,6 +6,11 @@ namespace API.Service;
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)
{
return inquiryService.CreateInquiry(title, description, isUser, tableId, solutionId);
@ -16,6 +21,11 @@ public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService
return inquiryService.DeleteInquiry(id);
}
public Task<bool> DeleteItem(int id)
{
return inquiryService.DeleteItem(id);
}
public IEnumerable<InquiryEntity> GetInquiries(int page, int number, InquiryOrderCriteria 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 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)
{
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 Model.OrderCriteria;
using Shared;
using Shared.ModelToEntities;
namespace DbDataManager.Service;
@ -90,4 +91,25 @@ public class InquiryDataService : IInquiryService<InquiryEntity>
DbContext.SaveChangesAsync();
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
{
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;
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;
public interface IInquiryService<TInquiry>
public interface IInquiryService<TInquiry> : IGenericDataService<TInquiry> where TInquiry : class
{
public IEnumerable<TInquiry> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria);
public TInquiry GetInquiryById(int id);

@ -6,7 +6,7 @@ using System.Threading.Tasks;
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; }
IInquiryService<TInquiry> inquiryService { get; }

@ -4,6 +4,7 @@ using Dto;
using Model.OrderCriteria;
using DbContextLib;
using Shared.Mapper;
using Shared.ModelToEntities;
namespace Shared;
@ -95,4 +96,25 @@ public class InquiryDataService : IInquiryDataService
DbContext.SaveChangesAsync();
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