Ejemplo n.º 1
0
 public User GetUserByEmail(String email)
 {
     using (var context = new QuestionAnswerContext(_conn))
     {
         return(context.Users.FirstOrDefault(u => u.Email == email));
     }
 }
Ejemplo n.º 2
0
 public int GetAnswerLikes(int answerId)
 {
     using (var context = new QuestionAnswerContext(_conn))
     {
         var answer = GetAnswerById(answerId);
         return(answer.UserAnswerLikes.Count());
     }
 }
Ejemplo n.º 3
0
 public int GetQuestionLikes(int questionId, int userId)
 {
     using (var context = new QuestionAnswerContext(_conn))
     {
         var question = GetQuestionById(questionId);
         return(question.UserQuestionLikes.Select(u => u.UserId == userId).Count());
     }
 }
Ejemplo n.º 4
0
 public void AddAnswer(Answer answer)
 {
     using (var context = new QuestionAnswerContext(_conn))
     {
         answer.Date = DateTime.Now;
         context.Add(answer);
         context.SaveChanges();
     }
 }
Ejemplo n.º 5
0
 public Question GetQuestionById(int Id)
 {
     using (var context = new QuestionAnswerContext(_conn))
     {
         return(context.Questions.Include(q => q.User)
                .Include(q => q.UserQuestionLikes)
                .Include(q => q.Answers)
                .ThenInclude(a => a.UserAnswerLikes)
                .Include(q => q.QuestionTags).ThenInclude(t => t.Tag)
                .FirstOrDefault(q => q.Id == Id));
     }
 }
Ejemplo n.º 6
0
 public IEnumerable <Question> GetQuestions()
 {
     using (var context = new QuestionAnswerContext(_conn))
     {
         return(context.Questions.Include(q => q.User)
                .Include(q => q.UserQuestionLikes)
                .ThenInclude(u => u.User)
                .Include(q => q.QuestionTags)
                .ThenInclude(t => t.Tag)
                .OrderByDescending(q => q.Date).ToList());
     }
 }
Ejemplo n.º 7
0
 public void AddLikeAnswer(int answerId, int userId)
 {
     using (var context = new QuestionAnswerContext(_conn))
     {
         context.UserAnswerLikes.Add(new UserAnswerLikes
         {
             AnswerId = answerId,
             UserId   = userId
         });
         context.SaveChanges();
     }
 }
Ejemplo n.º 8
0
        public void AddUser(User u)
        {
            using (var context = new QuestionAnswerContext(_conn))
            {
                //first check if the email already exists for a user
                var user = GetUserByEmail(u.Email);

                if (user is null)
                {
                    u.PasswordHash = BCrypt.Net.BCrypt.HashPassword(u.PasswordHash);
                    BCrypt.Net.BCrypt.HashPassword(u.PasswordHash);

                    context.Users.Add(u);
                    context.SaveChanges();
                }
            }
        }
Ejemplo n.º 9
0
        public void AddLikeQuestion(int questionId, int userId)
        {
            using (var context = new QuestionAnswerContext(_conn))
            {
                var question = GetQuestionById(questionId);

                context.UserQuestionLikes.Add(new UserQuestionLikes
                {
                    QuestionId = questionId,
                    UserId     = userId
                });


                context.SaveChanges();

                //return (question.UserQuestionLikes.Count());
            }
        }