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); } } }
bool IsExistIsCorrectTrueAnswers() { return(QuestionAnswers.Any(q => q.IsCorrect == true)); }
bool IsEmptyTextAnswers() { return(QuestionAnswers.Any(q => string.IsNullOrEmpty(q.Text))); }