public IActionResult AddComment([FromForm] NewComment cData)
        {
            var     user        = _um.GetUserAsync(HttpContext.User).Result;
            Comment newResponse = new Comment
            {
                Body       = cData.Body,
                UserId     = user.Id,
                Popularity = 0,
            };

            _service.CreateComment(newResponse, cData.ResponseId);
            var origQ        = _service.GetQuestionById(cData.QuestionId);
            var qResponses   = _service.GetRelatedResponses(origQ.Id);
            var viewQuestion = new QuestionForView
            {
                Id         = origQ.Id,
                Title      = origQ.Title,
                Body       = origQ.Body,
                UserId     = origQ.UserId,
                Popularity = origQ.Popularity,
                Responses  = qResponses
            };

            return(View("Details", viewQuestion));
        }
        public IActionResult AddResponse([FromForm] NewResponse rData)
        {
            var      user        = _um.GetUserAsync(HttpContext.User).Result;
            Response newResponse = new Response
            {
                Body       = rData.Body,
                UserId     = user.Id,
                Popularity = 0,
                IsSolution = false
            };

            _service.CreateResponse(newResponse, rData.QuestionId);
            var origQ        = _service.GetQuestionById(rData.QuestionId);
            var qResponses   = _service.GetRelatedResponses(origQ.Id);
            var viewQuestion = new QuestionForView
            {
                Id         = origQ.Id,
                Title      = origQ.Title,
                Body       = origQ.Body,
                UserId     = origQ.UserId,
                Popularity = origQ.Popularity,
                Responses  = qResponses
            };

            return(View("Details", viewQuestion));
        }
        public IActionResult MarkSolution([FromForm] VoteResponse r)
        {
            _service.MarkSolution(r.ResponseId);
            var origQ        = _service.GetQuestionById(r.QuestionId);
            var qResponses   = _service.GetRelatedResponses(origQ.Id);
            var viewQuestion = new QuestionForView
            {
                Id         = origQ.Id,
                Title      = origQ.Title,
                Body       = origQ.Body,
                UserId     = origQ.UserId,
                Popularity = origQ.Popularity,
                Responses  = qResponses
            };

            return(View("Details", viewQuestion));
        }
        public IActionResult Details(int id)
        {
            var question = _service.GetQuestionById(id);

            if (question == null)
            {
                return(NotFound());
            }
            var qResponses   = _service.GetRelatedResponses(id);
            var viewQuestion = new QuestionForView
            {
                Id         = question.Id,
                Title      = question.Title,
                Body       = question.Body,
                UserId     = question.UserId,
                Popularity = question.Popularity,
                Responses  = qResponses
            };

            return(View(viewQuestion));
        }