|
|
|
@ -1,37 +1,93 @@
|
|
|
|
|
using Entities;
|
|
|
|
|
using DbContextLib;
|
|
|
|
|
using Entities;
|
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
using Model.OrderCriteria;
|
|
|
|
|
using Shared;
|
|
|
|
|
|
|
|
|
|
namespace DbDataManager.Service;
|
|
|
|
|
|
|
|
|
|
public class InquiryDataService : IInquiryService<InquiryEntity>
|
|
|
|
|
{
|
|
|
|
|
public InquiryEntity CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId)
|
|
|
|
|
private UserDbContext DbContext { get; set; }
|
|
|
|
|
|
|
|
|
|
public InquiryDataService(UserDbContext context)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
DbContext = context;
|
|
|
|
|
context.Database.EnsureCreated();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool DeleteInquiry(int id)
|
|
|
|
|
public InquiryEntity GetInquiryById(int id)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
var inquiryEntity = DbContext.Inquiries.FirstOrDefault(u => u.Id == id);
|
|
|
|
|
if (inquiryEntity == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentException("Impossible de trouver l'enquête", nameof(id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return inquiryEntity;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IEnumerable<InquiryEntity> GetInquiries(int page, int number)
|
|
|
|
|
public InquiryEntity GetInquiryByTitle(string title)
|
|
|
|
|
{
|
|
|
|
|
var inquiryEntity = DbContext.Inquiries.FirstOrDefault(u => u.Title == title);
|
|
|
|
|
if (inquiryEntity == null)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
throw new ArgumentException("Impossible de trouver l'enquête", nameof(title));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public InquiryEntity GetInquiryById(int id)
|
|
|
|
|
return inquiryEntity;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IEnumerable<InquiryEntity> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
return DbContext.Inquiries.Skip((page - 1) * number).Take(number).ToList()
|
|
|
|
|
.Select(u => u);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public InquiryEntity GetInquiryByTitle(string title)
|
|
|
|
|
public bool DeleteInquiry(int id)
|
|
|
|
|
{
|
|
|
|
|
var inquiryEntity = DbContext.Inquiries.FirstOrDefault(u => u.Id == id);
|
|
|
|
|
if (inquiryEntity == null)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DbContext.Inquiries.Remove(inquiryEntity);
|
|
|
|
|
DbContext.SaveChangesAsync();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public InquiryEntity UpdateInquiry(int id, InquiryEntity inquiry)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
var updatingInquiry = DbContext.Inquiries.FirstOrDefault(u => u.Id == id);
|
|
|
|
|
if (updatingInquiry == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentException("Impossible de trouver l'enquête", nameof(id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
updatingInquiry.Title = inquiry.Title;
|
|
|
|
|
updatingInquiry.Description = inquiry.Description;
|
|
|
|
|
updatingInquiry.IsUser = inquiry.IsUser;
|
|
|
|
|
updatingInquiry.IdInquiryTable = inquiry.IdInquiryTable;
|
|
|
|
|
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)
|
|
|
|
|
{
|
|
|
|
|
var newInquiryEntity = new InquiryEntity()
|
|
|
|
|
{
|
|
|
|
|
Title = title,
|
|
|
|
|
Description = description,
|
|
|
|
|
IsUser = isUser,
|
|
|
|
|
IdDatabase = tableId,
|
|
|
|
|
IdInquiryTable = solutionId,
|
|
|
|
|
};
|
|
|
|
|
DbContext.Inquiries.Add(newInquiryEntity);
|
|
|
|
|
DbContext.SaveChangesAsync();
|
|
|
|
|
return newInquiryEntity;
|
|
|
|
|
}
|
|
|
|
|
}
|