modification du answer entity manager

API
Damien NORTIER 1 year ago
parent 297560f178
commit 536de02dcb

@ -38,10 +38,19 @@ namespace EntityManagers
return await dbContext.Answers.Where(a => a.Id == id).FirstOrDefaultAsync(); 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(); 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; var tmp = dbContext.Answers;
switch (orderCriteria) switch (orderCriteria)
{ {
@ -55,7 +64,13 @@ namespace EntityManagers
tmp.OrderBy(a => a.IdQuestion); tmp.OrderBy(a => a.IdQuestion);
break; 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) public async Task<IEnumerable<AnswerEntity>?> getAnswersByIdQuestion(uint id)

Loading…
Cancel
Save