public IActionResult Answer(QuestionPageModel qpm) { if (ModelState.IsValid) { qpm.newAnswer.UserId = UserManager.GetUserId(User); db.Answers.Add(qpm.newAnswer); db.SaveChanges(); } return(RedirectToAction(nameof(Show), new { id = qpm.newAnswer.QuestionId })); }
public async Task <object> Index([FromBody] UserModel userModel) { try { var list = new List <ApplicationUserListViewModel>(); var usersOfRole = await _userManager.GetUsersInRoleAsync("Doctor"); foreach (var user in usersOfRole) { list.Add(new ApplicationUserListViewModel() { UserEmail = user.Email, IsApproved = user.IsApproved, UserId = user.Id, FirstName = user.FirstName, LastName = user.LastName }); } QuestionPageModel model = new QuestionPageModel(); model.listDoctorsItems = new List <SelectListItem>(); foreach (var item in list) { SelectListItem listItem = new SelectListItem { Text = string.Concat(item.FirstName, " ", item.LastName), Value = item.UserId }; model.listDoctorsItems.Add(listItem); } return(new SingleResponse <QuestionPageModel> { Message = "Questions fetched", DidError = false, ErrorMessage = string.Empty, Token = string.Empty, Model = model }); } catch (Exception ex) { return(new SingleResponse <QuestionPageModel> { Message = ex.Message, DidError = true, ErrorMessage = ex.InnerException.ToString(), Token = string.Empty, Model = new QuestionPageModel() }); } }
public IActionResult Show(int id) { if (!User.Identity.IsAuthenticated) { return(View("LoginToContinue")); } QuestionPageModel qpm = new QuestionPageModel(); Question question = db.Questions.Find(id); int numOfLikes = db.QuestionLikes.Where(l => l.UserId == UserManager.GetUserId(User) && l.QuestionId == question.QuestionId).Count(); if (numOfLikes > 0) { ViewData["upVoteValue"] = "Liked (" + db.QuestionLikes.Where(q => q.QuestionId == question.QuestionId).ToList().Count() + ")"; ViewData["upVoteClass"] = "btn-success"; } else { ViewData["upVoteValue"] = "Like (" + db.QuestionLikes.Where(q => q.QuestionId == question.QuestionId).ToList().Count() + ")"; ViewData["upVoteClass"] = "btn-outline-success"; } int numOfDislikes = db.QuestionDislikes.Where(l => l.UserId == UserManager.GetUserId(User) && l.QuestionId == question.QuestionId).Count(); if (numOfDislikes > 0) { ViewData["downVoteValue"] = "Disliked (" + db.QuestionDislikes.Where(q => q.QuestionId == question.QuestionId).ToList().Count() + ")"; ViewData["downVoteClass"] = "btn-danger"; } else { ViewData["downVoteValue"] = "Dislike (" + db.QuestionDislikes.Where(q => q.QuestionId == question.QuestionId).ToList().Count() + ")"; ViewData["downVoteClass"] = "btn-outline-danger"; } qpm.Question = question; qpm.Questioner = db.Users.Find(question.UserId).UserName; qpm.Answers = db.Answers.Where(a => a.QuestionId == question.QuestionId).ToList(); return(View(qpm)); }