public async Task <IActionResult> EditQuestionById(SingleSelectionQuestionModel modelForView, IList <string> textOfAnswers, string radioButtonValue) { if (modelForView == null) { return(BadRequest("Model for view is empty.")); } var question = await _singleRepository.GetAsync(modelForView.Id); if (question == null) { return(RedirectToAction("Index", "Home")); } int.TryParse(radioButtonValue, out var radioButtonIntValue); var newOptions = new List <SingleSelectionQuestionOption>(); for (int i = 0; i < textOfAnswers.Count(); i++) { var isAnswer = i == radioButtonIntValue; var option = new SingleSelectionQuestionOption(textOfAnswers[i], isAnswer); newOptions.Add(option); } _singleRepository.DeleteQuestionOptionsInDB(question); question.Update(modelForView.Question, newOptions); _singleRepository.UpdateQuestion(question); return(RedirectToAction("Index", "Home")); }
public void GetRightAnswer_ReturnsTrueOption() { //Arrange var theTrueOption = new SingleSelectionQuestionOption("2nd option (true)", true); var options = new List <SingleSelectionQuestionOption>() { new SingleSelectionQuestionOption("1st option (false)", false), theTrueOption, new SingleSelectionQuestionOption("3rd option (false)", false), new SingleSelectionQuestionOption("4th option (false)", false) }; var singleSelectionQuestion = new SingleSelectionQuestion("Question text"); singleSelectionQuestion.InitializeOptions(options); //Act var answer = singleSelectionQuestion.GetRightAnswer(); //Assert Assert.True(answer.IsAnswer); Assert.Equal(theTrueOption.Text, answer.Text); }