public ActionResult Details(QuestionDetailsFormViewModel model) { if (!UserController.isLoggedIn) { return(RedirectToRoute("Question", new { id = model.Question.Question_id })); } model.NewAnswer.Active = true; model.NewAnswer.Question_id = model.Question.Question_id; model.NewAnswer.DateCreated = DateTime.Now; model.NewAnswer.User_id = (int)Session["ID"]; db.Posts.Add(model.NewAnswer); db.SaveChanges(); return(RedirectToAction("Details")); }
// /Question/1234 // // Maps to: // // /Question/Details/1234 // // public ActionResult Details(int id) { try { var question = db.Questions.First(q => q.Question_id == id); var posts = question.Posts.OrderBy(q => q.DateCreated).Skip(1); ViewBag.Login = Session["login"]; ViewBag.isAdmin = UserController.isAdmin; if (UserController.isLoggedIn) { ViewBag.isUserWhoAskedThisQuestion = question.Posts.First().User_id == (int)Session["ID"]; } else { ViewBag.isUserWhoAskedThisQuestion = false; } QuestionDetailsFormViewModel model = new QuestionDetailsFormViewModel() { Question = question, BestAnswerPost = question.BestAnswer, OpeningPost = question.Posts.First(), Posts = posts, }; var row = db.Questions.Where(q => q.Question_id == id).Single(); row.Views++; db.SaveChanges(); return(View(model)); } catch (InvalidOperationException ex) { Console.WriteLine(ex.Message); // Unable to find the question id return(RedirectToAction("Index")); } }