Esempio n. 1
0
        public void UpdateAnswers()
        {
            var existingParent = Context.Questions
                                 .Where(p => p.QuestionId == Question.QuestionId)
                                 .SingleOrDefault();

            foreach (var existingChild in existingParent.Answers.ToList())
            {
                if (!QuestionAnswers.Any(c => c.AnswerId == existingChild.AnswerId))
                {
                    Context.Answers.Remove(existingChild);
                }
            }

            foreach (var childModel in QuestionAnswers)
            {
                var existingChild = existingParent.Answers
                                    .Where(c => c.AnswerId == childModel.AnswerId)
                                    .SingleOrDefault();

                if (existingChild != null && existingChild?.AnswerId != 0)
                {
                    Context.Entry(existingChild).CurrentValues.SetValues(childModel);
                }
                else
                {
                    var newChild = new Answer
                    {
                        Text       = childModel.Text,
                        IsCorrect  = childModel.IsCorrect,
                        Question   = existingParent,
                        QuestionId = existingParent.QuestionId
                    };
                    existingParent.Answers.Add(newChild);
                }
            }
        }
Esempio n. 2
0
 bool IsExistIsCorrectTrueAnswers()
 {
     return(QuestionAnswers.Any(q => q.IsCorrect == true));
 }
Esempio n. 3
0
 bool IsEmptyTextAnswers()
 {
     return(QuestionAnswers.Any(q => string.IsNullOrEmpty(q.Text)));
 }