示例#1
0
 public void AddPossibleAnswer(AnswerDO variant)
 {
     PossibleAnswers.Add(variant);
 }
示例#2
0
        public List<AnswerDO> ExtractSelectedAnswers(IUnitOfWork uow, NegotiationQuestionVM submittedQuestionData, UserDO curUserDO,
            Dictionary<QuestionDO, AnswerDO> questionAnswer)
        {
            if (submittedQuestionData.Id == 0)
                throw new HttpException(400, "Invalid parameter: Id of question cannot be 0.");

            var questionDO = uow.QuestionRepository.GetByKey(submittedQuestionData.Id);

            var currentSelectedAnswers = new List<AnswerDO>();

            //Previous answers are read-only, we only allow updating of new answers
            foreach (var submittedAnswerData in submittedQuestionData.Answers)
            {
                if (submittedAnswerData.Selected)
                {
                    AnswerDO answerDO;
                    if (submittedAnswerData.Id == 0)
                    {
                        answerDO = new AnswerDO();
                        uow.AnswerRepository.Add(answerDO);

                        answerDO.Question = questionDO;
                        if (answerDO.AnswerStatus == 0)
                            answerDO.AnswerStatus = AnswerState.Proposed;

                        answerDO.Text = submittedAnswerData.Text;
                        answerDO.EventID = submittedAnswerData.EventID;
                        answerDO.UserID = curUserDO.Id;
                    }
                    else
                    {
                        answerDO = uow.AnswerRepository.GetByKey(submittedAnswerData.Id);
                    }
                    questionAnswer[questionDO] = answerDO;
                    currentSelectedAnswers.Add(answerDO);
                }
            }
            return currentSelectedAnswers;
        }