|
|
|
@ -38,10 +38,19 @@ namespace EntityManagers
|
|
|
|
|
return await dbContext.Answers.Where(a => a.Id == id).FirstOrDefaultAsync();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<(int nbPages, IEnumerable<AnswerEntity>? answers)> getAnswers(int nb, int count, AnswerOrderCriteria orderCriteria = AnswerOrderCriteria.ById)
|
|
|
|
|
public async Task<(int nbPages, IEnumerable<AnswerEntity>? answers)> getAnswers(int page, int count, AnswerOrderCriteria orderCriteria = AnswerOrderCriteria.ById)
|
|
|
|
|
{
|
|
|
|
|
int nbEl = getNbElements();
|
|
|
|
|
if (nb < 0 || count < 0 || nb > nbEl / count) return await Task.FromResult<(int nbPages, IEnumerable<AnswerEntity>? answers)>((nbEl / count, null));
|
|
|
|
|
if (page < 0 || count < 0 || page > nbEl / count)
|
|
|
|
|
{
|
|
|
|
|
return await Task.FromResult<(
|
|
|
|
|
int nbPages,
|
|
|
|
|
IEnumerable<AnswerEntity>? answers
|
|
|
|
|
)> ((
|
|
|
|
|
count == 0 ? -1 : nbEl / count,
|
|
|
|
|
null
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
var tmp = dbContext.Answers;
|
|
|
|
|
switch (orderCriteria)
|
|
|
|
|
{
|
|
|
|
@ -55,7 +64,13 @@ namespace EntityManagers
|
|
|
|
|
tmp.OrderBy(a => a.IdQuestion);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
return await Task.FromResult<(int nbPages, IEnumerable<AnswerEntity>? answers)>((nbEl / count, tmp.Skip((nb - 1) * count).Take(count)));
|
|
|
|
|
return await Task.FromResult<(
|
|
|
|
|
int nbPages,
|
|
|
|
|
IEnumerable<AnswerEntity>? answers
|
|
|
|
|
)> ((
|
|
|
|
|
nbEl / count,
|
|
|
|
|
tmp.Skip((page - 1) * count).Take(count)
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<IEnumerable<AnswerEntity>?> getAnswersByIdQuestion(uint id)
|
|
|
|
|