public AnswerRatingBindingModel GetTestAnswerRatingBMRatingDown(Answer answer, CustomUser user) { var model = new AnswerRatingBindingModel() { AnswerId = answer.Id, Username = user.UserName, Rating = -1 }; return(model); }
public ActionResult <AnswerRatingBindingModel> Post(AnswerRatingBindingModel bindingModel) { var user = userMgr.FindByNameAsync(bindingModel.Username).Result; var answer = discussionsService.RateAnswer(bindingModel, user); if (answer == null) { return(NotFound()); } return(bindingModel); }
//Tested public Answer RateAnswer(AnswerRatingBindingModel model, CustomUser user) { var answer = this.context.Answers.FirstOrDefault(x => x.Id == model.AnswerId); if (model.Rating == 1) { if (!IsUserLikedAnswer(model.AnswerId, user.Id)) { var Answer = new UserAnswerLikes(answer.Id, user); this.context.UsersAnswerLikes.Add(Answer); if (IsUserDisLikedAnswer(model.AnswerId, user.Id)) { var dislikedAnswer = this.context.UsersAnswerDislikes .FirstOrDefault(x => x.User.Id == user.Id && x.AnswerId == model.AnswerId); this.context.UsersAnswerDislikes.Remove(dislikedAnswer); this.context.SaveChanges(); } } else { return(null); } } else { if (!IsUserDisLikedAnswer(model.AnswerId, user.Id)) { var Answer = new UserAnswerDisLikes(answer.Id, user); this.context.UsersAnswerDislikes.Add(Answer); if (IsUserLikedAnswer(model.AnswerId, user.Id)) { var likedAnswer = this.context.UsersAnswerLikes .FirstOrDefault(x => x.User.Id == user.Id && x.AnswerId == model.AnswerId); this.context.UsersAnswerLikes.Remove(likedAnswer); this.context.SaveChanges(); } } else { return(null); } } answer.Rating += model.Rating; this.context.SaveChanges(); return(answer); }