public User GetUserByEmail(String email) { using (var context = new QuestionAnswerContext(_conn)) { return(context.Users.FirstOrDefault(u => u.Email == email)); } }
public int GetAnswerLikes(int answerId) { using (var context = new QuestionAnswerContext(_conn)) { var answer = GetAnswerById(answerId); return(answer.UserAnswerLikes.Count()); } }
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()); } }
public void AddAnswer(Answer answer) { using (var context = new QuestionAnswerContext(_conn)) { answer.Date = DateTime.Now; context.Add(answer); context.SaveChanges(); } }
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)); } }
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()); } }
public void AddLikeAnswer(int answerId, int userId) { using (var context = new QuestionAnswerContext(_conn)) { context.UserAnswerLikes.Add(new UserAnswerLikes { AnswerId = answerId, UserId = userId }); context.SaveChanges(); } }
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(); } } }
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()); } }