Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
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);
     }
 }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 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);
     }
 }
Ejemplo n.º 6
0
 public int NumberOfMarkingsPerUser(string userEmail)
 {
     using var db = new SovaDbContext();
     return(db.Markings.Where(n => n.UserEmail == userEmail).Count());
 }
Ejemplo n.º 7
0
 public Question GetQuestionById(int questionId)
 {
     using var db = new SovaDbContext();
     return(db.Questions.Find(questionId));
 }