Beispiel #1
0
        public ActionResult Edit(int id)
        {
            Answer answer = _repository.Get(id);

            if (answer == null)
            {
                return(HttpNotFound("Answer with specified id does not exist."));
            }

            return(View(answer));
        }
Beispiel #2
0
        public void Handle(ChosenAnswer command)
        {
            var answerId        = new AnswerId(command.AnswerId);
            var answer          = _answerRepository.Get(answerId);
            var questionId      = new QuestionId(command.QuestionId);
            var questionAnswers = _answerRepository.GetByQuestionId(questionId);
            var userId          = _claimHelper.GetUserId();

            answer.SetAsChosenAnswer(command.QuestionInquirerId, userId, questionAnswers);
            _answerRepository.Update(answer);
        }
        private string AnswerContentJSONToString(ExamAnswerDTO examAnswer, double score, string time)
        {
            ReviewExamDetailDTO reviewExamDetail = new ReviewExamDetailDTO();

            reviewExamDetail.Name  = examService.IsRandom(examAnswer.ExamId) ? examRepository.GetRandomExam(examAnswer.ExamId).Name : examRepository.Get(examAnswer.ExamId).Name;
            reviewExamDetail.Score = score;
            reviewExamDetail.Time  = time;
            for (int questionIndex = 0; questionIndex < examAnswer.AnswerDetails.Count; questionIndex++)
            {
                /**
                 * Create new Question to add to review questions
                 * Create List answer to add to answers of questions above
                 * Get Userquestion with full information
                 * in question loop though set of answers to get information and add to list answer above
                 * assign list answer to question
                 * fill the rest of information for question
                 * add question to list
                 */
                ReviewQuestionDTO      reviewQuestion = new ReviewQuestionDTO();
                List <ReviewAnswerDTO> reviewAnswers  = new List <ReviewAnswerDTO>();

                var userQuestion = examAnswer.AnswerDetails[questionIndex];
                var questionInDb = questionRepository.GetById(userQuestion.QuestionId);
                if (questionInDb.Type == 3)
                {
                    reviewAnswers.Add(new ReviewAnswerDTO
                    {
                        Content = userQuestion.Content
                    });
                }
                else
                {
                    for (int answerIndex = 0; answerIndex < userQuestion.UserAnswers.Count; answerIndex++)
                    {
                        reviewAnswers.Add(new ReviewAnswerDTO
                        {
                            Content    = answerRepository.Get(userQuestion.UserAnswers[answerIndex].AnswerId).Content,
                            IsSelected = userQuestion.UserAnswers[answerIndex].IsSelected
                        });
                    }
                }


                reviewQuestion.Content       = questionInDb.Content;
                reviewQuestion.IsCorrect     = examineeService.GetQuestionState(userQuestion.QuestionId);
                reviewQuestion.ReviewAnswers = reviewAnswers;
                reviewQuestion.Type          = questionInDb.Type;
                reviewQuestion.Difficulty    = questionInDb.Difficulty;

                reviewExamDetail.ReviewQuestions.Add(reviewQuestion);
            }

            return(JsonConvert.SerializeObject(reviewExamDetail));
        }
Beispiel #4
0
        public async Task WhenGetAnswers_ThenGetSuccessful()
        {
            //?Given
            var answerList = new List <Answer>
            {
                new Answer
                {
                    User           = "******",
                    Id             = "1234",
                    AnswerSelected = new List <AnswerSelected>
                    {
                        new AnswerSelected
                        {
                            IdOption            = "1234",
                            OptionDescription   = "this is a description",
                            IdQuestion          = "1234",
                            QuestionDescription = "this is a decription"
                        }
                    }
                }
            };

            var answerEntity = new List <AnswerEntity>();

            _mockService.Setup(x => x.Get <AnswerEntity>(It.IsAny <string>()))
            .ReturnsAsync(answerEntity)
            .Verifiable();

            _mockMapper.Setup(x => x.Map <IEnumerable <Answer> >(It.IsAny <IEnumerable <AnswerEntity> >()))
            .Returns(answerList)
            .Verifiable();

            //?When
            var result = await _answerRepository.Get();

            //?Then
            Assert.NotNull(result);

            var actual   = result.ToList().FirstOrDefault();
            var expected = answerList.FirstOrDefault();

            Assert.Equal(expected.Id, actual.Id);
            Assert.Equal(expected.User, actual.User);
            Assert.Equal(expected.AnswerSelected.FirstOrDefault().IdOption, actual.AnswerSelected.FirstOrDefault().IdOption);
            Assert.Equal(expected.AnswerSelected.FirstOrDefault().OptionDescription, actual.AnswerSelected.FirstOrDefault().OptionDescription);
            Assert.Equal(expected.AnswerSelected.FirstOrDefault().IdQuestion, actual.AnswerSelected.FirstOrDefault().IdQuestion);
            Assert.Equal(expected.AnswerSelected.FirstOrDefault().QuestionDescription, actual.AnswerSelected.FirstOrDefault().QuestionDescription);

            _mockService.Verify();
            _mockMapper.Verify();
        }
Beispiel #5
0
        public Task <GenericQueryResult> Handle(GetAnswersFormRequest request, CancellationToken cancellationToken)
        {
            try
            {
                var questionsAndAnswers = new List <GetAnswersFormResponse>();

                var form = _formRepository.Get(request.FormId);

                if (!form.Answered)
                {
                    return(Task.FromResult(new GenericQueryResult(404, "Este formulário ainda não foi respondido! Que tal ser o primeiro?", null)));
                }

                var questions = _questionRepository.Get(form.Id);

                foreach (var question in questions)
                {
                    var answers = _answerRepository.Get(question.Id);

                    questionsAndAnswers.Add(new GetAnswersFormResponse()
                    {
                        QuestionText = question.Text,
                        Answers      = answers.Select(
                            a => new AnswerResponse()
                        {
                            AnswerText = a.Text,
                            AnsweredAt = a.CreatedAt.ToString("dd/MM/yyyy"),
                            Latitude   = a.Latitude,
                            Longitude  = a.Longitude,
                            AuthorName = _authorRepository.Get(a.AuthorId).Name
                        }
                            ).OrderBy(a => a.AnsweredAt).ToList()
                    });
                }

                var result = new
                {
                    FormTitle           = form.Title,
                    AuthorName          = _authorRepository.Get(form.AuthorId).Name,
                    QuestionsAndAnswers = questionsAndAnswers.OrderBy(qa => qa.QuestionText)
                };

                return(Task.FromResult(new GenericQueryResult(200, null, result)));
            }
            catch
            {
                return(Task.FromResult(new GenericQueryResult(500, "Erro no servidor! Desculpe-nos.", null)));
            }
        }
Beispiel #6
0
        public MichtavaResult Add(Answer Answer)
        {
            if (Answer.Submitted_By == null)
            {
                return(new MichtavaFailure("התשובה חייבת להכיל את שיעורי הבית"));
            }


            if (Answer.Answer_To == null)
            {
                return(new MichtavaFailure("התשובה חייבת להכיל את הסטודנט המגיש"));
            }

            if (AnswerRepository.Get(x => x.Homework_Id == Answer.Homework_Id &&
                                     x.Student_Id == Answer.Student_Id).Count() != 0)
            {
                return(new MichtavaFailure("תשובה עם אותו התלמיד ואותם השיעורים כבר קיימת במערכת"));
            }


            this.AnswerRepository.Add(Answer);
            this.AnswerRepository.SaveChanges();
            return(new MichtavaSuccess("תשובה נוספה בהצלחה"));
        }
Beispiel #7
0
 public async Task <IEnumerable <Answer> > Get()
 {
     return(await _asnwerRepository.Get());
 }
 public IEnumerable <Answer> GetAnswer()
 {
     return(answerRepository.Get());
 }
        public async Task <Result <AnswerResponse> > Get(Guid id)
        {
            var query = await _repository.Get(id);

            return(new Result <AnswerResponse>(AnswerResponse.ToResponse(query)));
        }
Beispiel #10
0
 public IList <Answer> GetAnswers(Guid questionId)
 {
     return(_answerRepository.Get().Where(a => a.QuestionId == questionId)
            .OrderByDescending(a => a.totalLikes).ToList());
 }
 public Answer Get(int answerID)
 {
     return(_repository.Get(answerID));
 }