parent
4fe9d58275
commit
5686b7267a
@ -1,103 +0,0 @@
|
|||||||
using Entities;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Dto;
|
|
||||||
using DbContextLib;
|
|
||||||
using Model.OrderCriteria;
|
|
||||||
using Shared.Mapper;
|
|
||||||
|
|
||||||
namespace Shared;
|
|
||||||
|
|
||||||
public class SuccessDataService : ISuccessDataService
|
|
||||||
{
|
|
||||||
private UserDbContext DbContext { get; set; }
|
|
||||||
public SuccessDataService(UserDbContext context)
|
|
||||||
{
|
|
||||||
DbContext = context;
|
|
||||||
context.Database.EnsureCreated();
|
|
||||||
}
|
|
||||||
public IEnumerable<SuccessDTO> GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria)
|
|
||||||
{
|
|
||||||
IQueryable<SuccessEntity> query = DbContext.Successes.Skip((page - 1) * number).Take(number);
|
|
||||||
switch (orderCriteria)
|
|
||||||
{
|
|
||||||
case SuccessOrderCriteria.None:
|
|
||||||
break;
|
|
||||||
case SuccessOrderCriteria.ByUserId:
|
|
||||||
query = query.OrderBy(s => s.UserId);
|
|
||||||
break;
|
|
||||||
case SuccessOrderCriteria.ByInquiryId:
|
|
||||||
query = query.OrderBy(s => s.InquiryId);
|
|
||||||
break;
|
|
||||||
case SuccessOrderCriteria.ByIsFinished:
|
|
||||||
query = query.OrderBy(s => s.IsFinished);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
var successes = query.ToList();
|
|
||||||
return successes.Select(s => s.FromEntityToDTO());
|
|
||||||
}
|
|
||||||
|
|
||||||
public SuccessDTO GetSuccessByUserId(int id)
|
|
||||||
{
|
|
||||||
var userEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id);
|
|
||||||
if (userEntity == null)
|
|
||||||
{
|
|
||||||
throw new ArgumentException("Impossible de trouver le succès", nameof(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
return userEntity.FromEntityToDTO();
|
|
||||||
}
|
|
||||||
|
|
||||||
public SuccessDTO GetSuccessByInquiryId(int id)
|
|
||||||
{
|
|
||||||
var userEntity = DbContext.Successes.FirstOrDefault(u => u.InquiryId == id);
|
|
||||||
if (userEntity == null)
|
|
||||||
{
|
|
||||||
throw new ArgumentException("Impossible de trouver le succès", nameof(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
return userEntity.FromEntityToDTO();
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool DeleteSuccess(int id)
|
|
||||||
{
|
|
||||||
var successEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id);
|
|
||||||
if (successEntity == null)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
DbContext.Successes.Remove(successEntity);
|
|
||||||
DbContext.SaveChangesAsync();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SuccessDTO UpdateSuccess(int id, SuccessDTO success)
|
|
||||||
{
|
|
||||||
var updatingSuccess = DbContext.Successes.FirstOrDefault(u => u.UserId == id);
|
|
||||||
if (updatingSuccess == null)
|
|
||||||
{
|
|
||||||
throw new ArgumentException("Impossible de trouver le succès", nameof(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
updatingSuccess.UserId = success.UserId;
|
|
||||||
updatingSuccess.InquiryId = success.InquiryId;
|
|
||||||
updatingSuccess.IsFinished = success.IsFinished;
|
|
||||||
DbContext.SaveChangesAsync();
|
|
||||||
return updatingSuccess.FromEntityToDTO();
|
|
||||||
}
|
|
||||||
|
|
||||||
public SuccessDTO CreateSuccess(int userId, int inquiryId, bool isFinished)
|
|
||||||
{
|
|
||||||
var newSuccessEntity = new SuccessDTO()
|
|
||||||
{
|
|
||||||
UserId = userId,
|
|
||||||
InquiryId = inquiryId,
|
|
||||||
IsFinished = isFinished,
|
|
||||||
};
|
|
||||||
DbContext.Successes.Add(newSuccessEntity.FromDTOToEntity());
|
|
||||||
DbContext.SaveChangesAsync();
|
|
||||||
return newSuccessEntity;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in new issue