コード例 #1
0
        public void PostAnswerVerifiesCorrectAnswer()
        {
            INumberGenerator    numberGenerator   = new NumberGenerator();
            ExcerciseController controller        = new ExcerciseController(numberGenerator);
            QuestionPostModel   questionPostModel = new QuestionPostModel();
            Question            question          = new Question();

            question.a = 20;
            question.b = 20;
            questionPostModel.question = question;
            questionPostModel.answer   = 40;
            var result = controller.PostAnswer(questionPostModel);

            Assert.IsTrue(result);
        }
コード例 #2
0
 public Boolean PostAnswer([FromBody] QuestionPostModel questionModel)
 {
     return(questionModel.question.a + questionModel.question.b == questionModel.answer);
 }
コード例 #3
0
        public ActionResult PostQuestion(QuestionPostModel model)
        {
            if (Request.IsAuthenticated)
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        var checkQuestionIsExist = _db.Questions.Any(m => m.Question.Equals(model.QuestionMessage));
                        if (!checkQuestionIsExist)
                        {
                            var u = _db.ForumUser.FirstOrDefault(m => m.UserName.Equals(User.Identity.Name));
                            if (u != null)
                            {
                                var userId        = u.UserId;
                                var userQuestions = new Questions
                                {
                                    PostedDate = DateTime.Now,
                                    Question   = model.QuestionMessage,
                                    CategoryId = Convert.ToInt32(model.Category),
                                    UserId     = userId,
                                    answers    = 0,
                                    views      = 0
                                };


                                _db.Questions.Add(userQuestions);
                                _db.SaveChanges();
                                var v = _db.PostInformation.SingleOrDefault(m => m.UserId.Equals(userId));
                                if (v != null)
                                {
                                    var posId         = v.PostId;
                                    var totalQuesPost = _db.PostInformation.Find(posId).TotalQuesPost;
                                    if (totalQuesPost != null)
                                    {
                                        var prevPosts = totalQuesPost.Value;
                                        var pi        = _db.PostInformation.Find(posId);


                                        pi.TotalQuesPost = prevPosts + 1;

                                        _db.Entry(pi).State = EntityState.Modified;
                                    }
                                }
                            }
                            _db.SaveChanges();

                            ViewData["unLUQC"]        = 4;
                            ViewData["QuestionLists"] = (from q in _db.Questions

                                                         join us in _db.ForumUser on q.UserId equals us.UserId
                                                         join c in _db.Category on q.CategoryId equals c.CategoryId
                                                         orderby q.QuestionId descending



                                                         select
                                                         new QuestionList()
                            {
                                Question = q.Question,
                                Image = us.Image,
                                PostedBy = us.UserName,
                                Posteddate = q.PostedDate,
                                Category = c.CategoryName,
                                Answers = q.answers,
                                Views = q.views,
                                Id = q.QuestionId
                            });
                            var categories = _db.Category.Select(c => new
                            {
                                CategoryID   = c.CategoryId,
                                CategoryName = c.CategoryName
                            }).OrderByDescending(m => m.CategoryID).ToList();
                            ViewBag.Categories = new MultiSelectList(categories, "CategoryID", "");



                            Response.Write("<div id='op'></div>");
                        }
                        else
                        {
                            ModelState.AddModelError("", "It seems that this question already exist.");
                        }
                    }
                    catch (Exception e)
                    {
                    }
                }

                ViewData["QuestionLists"] = (_db.Questions.Join(_db.ForumUser, q => q.UserId, us => us.UserId,
                                                                (q, us) => new { q, us })
                                             .Join(_db.Category, @t => @t.q.CategoryId, c => c.CategoryId, (@t, c) => new QuestionList()
                {
                    Question = @t.q.Question,
                    Image = @t.us.Image,
                    PostedBy = @t.us.UserName,
                    Posteddate = @t.q.PostedDate,
                    Category = c.CategoryName,
                    Answers = @t.q.answers,
                    Views = @t.q.views,
                    Id = @t.q.QuestionId
                })).OrderByDescending(m => m.Id);



                var cates = _db.Category.Select(c => new
                {
                    CategoryID   = c.CategoryId,
                    CategoryName = c.CategoryName
                }).ToList();

                ViewBag.Categories = new SelectList(cates, "CategoryID", "CategoryName", Convert.ToInt32(model.Category).ToString());
            }
            else
            {
                ViewBag.authErrorState = 402;
                TempData["UQC"]        = 3;
            }



            return(View(model));
        }