Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        //  /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"));
            }
        }