public QuizQuestion MapQuestionToQuiz(int NewQuizId, QuestionHasAnswers NewQuestionWithAnswers) { List <AnswerOption> _questionAnswers = new List <AnswerOption>(); QuizQuestion _quizQuestion = new QuizQuestion(); _quizQuestion.Question = NewQuestionWithAnswers.Question; _quizQuestion.IsActive = true; _quizQuestion.QuizId = NewQuizId; QuizQuestion _createdQuestion = _questionService.CreateNewQuestion(_quizQuestion); foreach (AnswerWithIsCorrect answer in NewQuestionWithAnswers.Answers) { _questionAnswers.Add(MapAnswersToQuestion(_createdQuestion.Id, answer)); } return(_createdQuestion); }
public IEnumerable <QuizQuestion> UpdateQuiz(int QuizId, int UserId, QuestionHasAnswers NewQuestionWithAnswers, int?QuestionId) { int accessLevel = _userService.GetUserAccessByUserId(UserId).AccessLevelId; if (!accessLevel.Equals((int)UserAccessEnum.Admin)) { return(null); } if (QuestionId != null) { QuizQuestion _quizQuestion = _questionService.GetQuestionById(QuestionId.Value); if (NewQuestionWithAnswers.Question != _quizQuestion.Question) { QuizQuestion _setQuestionInactive = _questionService.SetQuestionActiveState(QuestionId.Value, false); QuizQuestion _newQuestion = MapQuestionToQuiz(QuizId, NewQuestionWithAnswers); } else { _answerOptionService.DeleteAnswersForQuestion(QuestionId.Value); NewQuestionWithAnswers.Answers.ForEach(answer => { MapAnswersToQuestion(QuestionId.Value, answer); }); } } else { QuizQuestion _newQuestion = MapQuestionToQuiz(QuizId, NewQuestionWithAnswers); } return(GetQuizQuestionsByQuizId(QuizId)); }
public IEnumerable <QuizQuestion> Put(int QuizId, int UserId, [FromBody] QuestionHasAnswers NewQuestionWithAnswers) { IEnumerable <QuizQuestion> _updatedQuizQuestion = _quizService.UpdateQuiz(QuizId, UserId, NewQuestionWithAnswers, NewQuestionWithAnswers.QuestionId); return(_updatedQuizQuestion); }