|
|
@ -16,43 +16,61 @@ public class SuccessDataService : ISuccessService<SuccessEntity>
|
|
|
|
context.Database.EnsureCreated();
|
|
|
|
context.Database.EnsureCreated();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public SuccessEntity GetSuccessByUserId(int id)
|
|
|
|
public IEnumerable<SuccessEntity> GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var successEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id);
|
|
|
|
IQueryable<SuccessEntity> query = DbContext.Successes.Skip((page - 1) * number).Take(number);
|
|
|
|
if (successEntity == null)
|
|
|
|
switch (orderCriteria)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
throw new ArgumentException("Impossible de trouver le succès avec l'user id", nameof(id));
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return successEntity;
|
|
|
|
var successes = query.ToList();
|
|
|
|
|
|
|
|
return successes;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public SuccessEntity GetSuccessByInquiryId(int id)
|
|
|
|
public SuccessEntity GetSuccessByUserId(int id)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var successEntity = DbContext.Successes.FirstOrDefault(u => u.InquiryId == id);
|
|
|
|
var userEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id);
|
|
|
|
if (successEntity == null)
|
|
|
|
if (userEntity == null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
throw new ArgumentException("Impossible de trouver le succès avec l'inquiry id", nameof(id));
|
|
|
|
throw new ArgumentException("Impossible de trouver le succès", nameof(id));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return successEntity;
|
|
|
|
return userEntity;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public IEnumerable<SuccessEntity> GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria)
|
|
|
|
public SuccessEntity GetSuccessByInquiryId(int id)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return DbContext.Successes.Skip((page - 1) * number).Take(number).ToList()
|
|
|
|
var userEntity = DbContext.Successes.FirstOrDefault(u => u.InquiryId == id);
|
|
|
|
.Select(u => u);
|
|
|
|
if (userEntity == null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
throw new ArgumentException("Impossible de trouver le succès", nameof(id));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return userEntity;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public bool DeleteSuccess(int id)
|
|
|
|
public bool DeleteSuccess(int id)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var userEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id);
|
|
|
|
var successEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id);
|
|
|
|
if (userEntity == null)
|
|
|
|
if (successEntity == null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
DbContext.Successes.Remove(userEntity);
|
|
|
|
DbContext.Successes.Remove(successEntity);
|
|
|
|
DbContext.SaveChangesAsync();
|
|
|
|
DbContext.SaveChangesAsync();
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -62,14 +80,12 @@ public class SuccessDataService : ISuccessService<SuccessEntity>
|
|
|
|
var updatingSuccess = DbContext.Successes.FirstOrDefault(u => u.UserId == id);
|
|
|
|
var updatingSuccess = DbContext.Successes.FirstOrDefault(u => u.UserId == id);
|
|
|
|
if (updatingSuccess == null)
|
|
|
|
if (updatingSuccess == null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
throw new ArgumentException("Impossible de trouver le succès avec l'user id", nameof(id));
|
|
|
|
throw new ArgumentException("Impossible de trouver le succès", nameof(id));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
updatingSuccess.UserId = success.UserId;
|
|
|
|
updatingSuccess.UserId = success.UserId;
|
|
|
|
updatingSuccess.InquiryId = success.InquiryId;
|
|
|
|
updatingSuccess.InquiryId = success.InquiryId;
|
|
|
|
updatingSuccess.IsFinished = success.IsFinished;
|
|
|
|
updatingSuccess.IsFinished = success.IsFinished;
|
|
|
|
// Permet d'indiquer en Db que l'entité a été modifiée.
|
|
|
|
|
|
|
|
DbContext.Entry(updatingSuccess).State = EntityState.Modified;
|
|
|
|
|
|
|
|
DbContext.SaveChangesAsync();
|
|
|
|
DbContext.SaveChangesAsync();
|
|
|
|
return updatingSuccess;
|
|
|
|
return updatingSuccess;
|
|
|
|
}
|
|
|
|
}
|
|
|
|