using DbConnectionLibrairie; using Entities; using ManagerInterfaces; using Microsoft.EntityFrameworkCore; using OrderCriterias; namespace EntityManagers { public class AnswerEntityManager : IAnswerManager { private MyDbContext dbContext; public int getNbElement() { return dbContext.Answers.CountAsync().Result; } public AnswerEntityManager(MyDbContext dbContext) { this.dbContext = dbContext; } public AnswerEntity ajouterAnswer(AnswerEntity answer) { var tmp = dbContext.Answers.Where(a => a.Equals(answer)).FirstOrDefaultAsync().Result; if (tmp != null) return tmp; dbContext.Answers.Add(answer); dbContext.SaveChangesAsync(); return dbContext.Answers.Where(a => a.Equals(answer)).FirstAsync().Result; } public AnswerEntity? getAnswer(long id) { return dbContext.Answers.Where(a => a.Id == id).FirstOrDefaultAsync().Result; } public IEnumerable getAnswers(int nb, int count, AnswerOrderCriteria orderCriteria = AnswerOrderCriteria.ById) { return dbContext.Answers.OrderBy(a => a.Id).Skip((nb - 1) * count).Take(count).ToListAsync().Result; } public AnswerEntity? modifierAnswer(long id, AnswerEntity answer) { var tmp = dbContext.Answers.Where(a => a.Id == id).FirstOrDefaultAsync().Result; if (tmp == null) return null; tmp.Content = answer.Content; dbContext.SaveChangesAsync(); return tmp; } public AnswerEntity? supprimerAnswer(long id) { var tmp = dbContext.Answers.Where(a => a.Id == id).FirstOrDefaultAsync().Result; if (tmp == null) return null; dbContext.Answers.Remove(tmp); dbContext.SaveChangesAsync(); return tmp; } } }