private void InitializeRequiredAnswerDropDown(question toInitialize) { cmbRequiredAnswer.Items.Add("No answer required"); if (toInitialize.ParentQuestion.type == question.QuestionTypes.MultipleChoice) { foreach (multiple_choice_answer mca in toInitialize.GetMultipleChoiceAnswers()) { cmbRequiredAnswer.Items.Add(mca); } cmbRequiredAnswer.SelectedIndex = cmbRequiredAnswer.FindStringExact(toInitialize.required_answer); } else if (toInitialize.ParentQuestion.type == question.QuestionTypes.YesNo) { cmbRequiredAnswer.Items.Add("Yes"); cmbRequiredAnswer.Items.Add("No"); try { // Temporary structure to deal with the fact that sometime required answer is saved as "true" and other times as "yes" cmbRequiredAnswer.SelectedIndex = cmbRequiredAnswer.FindStringExact( CommonFunctions.ToYesNo(System.Convert.ToBoolean(toInitialize.required_answer))); } catch { cmbRequiredAnswer.SelectedIndex = cmbRequiredAnswer.FindStringExact(toInitialize.required_answer); if (cmbRequiredAnswer.SelectedIndex < 0) { cmbRequiredAnswer.SelectedIndex = 0; } } } else { LoggingHelper.Log("Uninitialized question type on a parent that is marked as a fork.", LogSeverity.Critical, new Exception("Uninitialized question type on a parent that is marked as a fork."), true); } if (cmbRequiredAnswer.SelectedIndex == -1) { cmbRequiredAnswer.SelectedIndex = 0; } }