public List <Answer> GetAnswers(int questionid) { using var db = new SovaDbContext(); var result = (from a in db.Answers join q in db.Questions on a.QuestionId equals q.Id where q.Id == questionid select a).OrderByDescending(x => x.Score).ToList(); return(result); }
public bool DeleteMarking(Marking marking) { using var db = new SovaDbContext(); var result = db.Markings.Find(marking.UserEmail, marking.QuestionId); if (result == null) { return(false); } db.Markings.Remove(result); return(db.SaveChanges() > 0); }
public Marking CreateMarking(Marking marking) { using var db = new SovaDbContext(); try { db.Markings.Add(marking); db.SaveChanges(); return(marking); } catch (Exception e) { return(null); } }
public List <MarkedQuestion> GetAllMarkedQuestionsByUserEmail(string userEmail, PagingAttributes pagingAttributes) { using var db = new SovaDbContext(); var result = (from m in db.Markings join q in db.Questions on m.QuestionId equals q.Id where m.UserEmail == userEmail select new MarkedQuestion { Id = q.Id, Title = q.Title, UserEmail = m.UserEmail }) .Skip(pagingAttributes.Page * pagingAttributes.PageSize) .Take(pagingAttributes.PageSize) .ToList(); return(result); }
public MarkedQuestion GetMarkedQuestion(int questionId, string userEmail) { using var db = new SovaDbContext(); try { var result = (from m in db.Markings join q in db.Questions on m.QuestionId equals q.Id where q.Id == questionId && m.UserEmail == userEmail select new MarkedQuestion { Id = q.Id, Title = q.Title, UserEmail = m.UserEmail }).Single(); return(result); } catch (Exception e) { return(null); } }
public int NumberOfMarkingsPerUser(string userEmail) { using var db = new SovaDbContext(); return(db.Markings.Where(n => n.UserEmail == userEmail).Count()); }
public Question GetQuestionById(int questionId) { using var db = new SovaDbContext(); return(db.Questions.Find(questionId)); }