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); }
public Boolean PostAnswer([FromBody] QuestionPostModel questionModel) { return(questionModel.question.a + questionModel.question.b == questionModel.answer); }
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)); }