コード例 #1
0
        public IActionResult AddExtraAnswersToExistingQuestion(int?id, int idQuestion)
        {
            var answerTemplateToExistingQuestion = new AnswerToAdminVm()
            {
                QuestionId = idQuestion, IsAccepted = true
            };

            return(View(answerTemplateToExistingQuestion));
        }
コード例 #2
0
        public List <Answer> AddExtraAnswer(AnswerToAdminVm answer)
        {
            Question question   = _categoryAndQuestionForAdminRepo.ReturnDetailsOfQuestion(answer.QuestionId);
            var      questionVm = _mapper.Map <DetailsOfQuestionAdminVm>(question);

            questionVm.Answers = _categoryAndQuestionForAdminRepo.ReturnAnswersByQuestionId(questionVm.Id)
                                 .ProjectTo <AnswerToAdminVm>(_mapper.ConfigurationProvider).ToList();
            questionVm.CategoryText = _categoryAndQuestionForAdminRepo.ReturnCategoryById(question.CategoryId).Name;
            questionVm.Answers.Add(answer);
            var questionToDatabase = _mapper.Map <Question>(questionVm);
            var answers            = questionToDatabase.Answers;
            var listOfAnswers      = answers.ToList();

            _categoryAndQuestionForAdminRepo.UpdateAnswers(listOfAnswers);
            return(listOfAnswers);
        }
コード例 #3
0
        public void TestOfAddingExtraAnswer()
        {
            var question = new Question()
            {
                Id           = 1,
                QuestionText = "Ile to jest 25 + 25?",
                CategoryId   = 1,
                Category     = new Category()
                {
                    Id = 1, Name = "Matematyka", IsAccepted = true
                },
                IsAccepted = true,
                Answers    = new List <Answer>()
                {
                    new Answer()
                    {
                        Id = 1, AnswerText = "75", IsAccepted = true, IsCorrect = false, QuestionId = 1
                    },
                    new Answer()
                    {
                        Id = 2, AnswerText = "50", IsAccepted = true, IsCorrect = true, QuestionId = 1
                    }
                }
            };
            var config = new MapperConfiguration(conf =>
            {
                conf.AddProfile(new MappingProfile());
            });
            var mapper  = config.CreateMapper();
            var queRepo = new Mock <ICategoryAndQuestionForAdminRepository>();

            queRepo.Setup(q => q.ReturnDetailsOfQuestion(question.CategoryId)).Returns(question);
            queRepo.Setup(q => q.ReturnCategoryById(question.CategoryId)).Returns(question.Category);
            queRepo.Setup(q => q.ReturnAnswersByQuestionId(question.Id)).Returns(question.Answers.AsQueryable());
            var queServ     = new CategoryAndQuestionForAdminService(queRepo.Object, mapper);
            var extraAnswer = new AnswerToAdminVm()
            {
                Id = 3, AnswerText = "30", IsAccepted = true, IsCorrect = false, QuestionId = 1
            };

            //Act
            var answers = queServ.AddExtraAnswer(extraAnswer);

            //Assert
            answers.Should().HaveCount(3);
            answers[2].AnswerText.Should().Equals("30");
        }
コード例 #4
0
 public IActionResult AddExtraAnswersToExistingQuestion(AnswerToAdminVm model)
 {
     _catAndQueService.AddExtraAnswer(model);
     return(new RedirectResult(Url.Action("DetailsOfQuestion", new { Id = model.QuestionId })));
 }