private void WriteCategoryQuestionAnswer(SchemeQuestionWithChildQuestionsDto schemeQuestion, CodedQuestionBase codedQuestion) { var orderedSchemeAnswers = schemeQuestion.PossibleAnswers.OrderBy(x => x.Order).ToList(); foreach (var schemeAnswer in orderedSchemeAnswers) { var field = "NA"; if (codedQuestion != null && codedQuestion.CodedAnswers.Count != 0) { var codedAnswer = codedQuestion.CodedAnswers.SingleOrDefault(x => x.SchemeAnswerId == schemeAnswer.Id); if (codedAnswer != null) { field = _codedTextExport ? schemeAnswer.Text : "1"; } else { field = _codedTextExport ? "" : "0"; } _csvWriter.WriteField(field); WritePincite(codedAnswer); WriteAnnotation(codedAnswer); } else { _csvWriter.WriteField(field); WritePincite(null); WriteAnnotation(null); } } }
private int WriteCheckboxQuestionAnswer(SchemeQuestionWithChildQuestionsDto schemeQuestion, CodedQuestionBase codedQuestion) { var orderedSchemeAnswers = schemeQuestion.PossibleAnswers.OrderBy(x => x.Order).ToList(); foreach (var schemeAnswer in orderedSchemeAnswers) { var field = "NA"; if (WroteCategoryNotSelectedAnswer()) { continue; } if (codedQuestion == null || codedQuestion.CodedAnswers.Count == 0) { _csvWriter.WriteField(field); WritePincite(null); WriteAnnotation(null); continue; } try { var codedAnswer = codedQuestion.CodedAnswers.SingleOrDefault(x => x.SchemeAnswerId == schemeAnswer.Id); if (codedAnswer != null) { field = _codedTextExport ? schemeAnswer.Text : "1"; } else { field = _codedTextExport ? "" : "0"; } _csvWriter.WriteField(field); WritePincite(codedAnswer); WriteAnnotation(codedAnswer); } catch (InvalidOperationException) { _result.SetError(ExportResult.BinaryAnswerInvalidOperation); return(_result.Code); } catch (ArgumentNullException) { _result.SetError(ExportResult.BinaryAnswerArgumentNull); return(_result.Code); } } return(ExportResult.NoError); }
private int WriteBinaryQuestionAnswer(CodedQuestionBase codedQuestion) { var field = "NA"; var error = ExportResult.NoError; if (WroteCategoryNotSelectedAnswer()) { return(error); } if (codedQuestion != null && codedQuestion.CodedAnswers.Count != 0) { try { var codedAnswer = codedQuestion.CodedAnswers.Single(); var order = codedAnswer.SchemeAnswer.Order; if (order == 1) { field = _codedTextExport ? codedAnswer.SchemeAnswer.Text : "1"; } else if (order == 2) { field = _codedTextExport ? codedAnswer.SchemeAnswer.Text : "0"; } _csvWriter.WriteField(field); WritePincite(codedAnswer); WriteAnnotation(codedAnswer); } catch (InvalidOperationException) { _result.SetError(ExportResult.BinaryAnswerInvalidOperation); return(_result.Code); } catch (ArgumentNullException) { _result.SetError(ExportResult.BinaryAnswerArgumentNull); return(_result.Code); } } else { _csvWriter.WriteField(field); WritePincite(null); WriteAnnotation(null); } return(error); }
private void WriteQuestionComment(CodedQuestionBase codedQuestion) { // don't write comment for non-statistical export if (_codedTextExport == false) { return; } // if there is a coded question write out the comment, if (codedQuestion != null) { _csvWriter.WriteField(codedQuestion.Comment); } else { _csvWriter.WriteField(""); } }
private int WriteMultipleChoiceQuestionAnswer(CodedQuestionBase codedQuestion) { var field = "NA"; var error = ExportResult.NoError; if (WroteCategoryNotSelectedAnswer()) { return(error); } if (codedQuestion == null || codedQuestion.CodedAnswers.Count == 0) { _csvWriter.WriteField(field); WritePincite(null); WriteAnnotation(null); return(error); } try { var codedAnswer = codedQuestion.CodedAnswers.Single(); field = _codedTextExport ? codedAnswer.SchemeAnswer.Text : codedAnswer.SchemeAnswer.Order.ToString(); _csvWriter.WriteField(field); WritePincite(codedAnswer); WriteAnnotation(codedAnswer); } catch (InvalidOperationException) { _result.SetError(ExportResult.MultipleChoiceAnswerInvalidOperation); return(_result.Code); } catch (ArgumentNullException) { _result.SetError(ExportResult.MultipleChoiceAnswerArgumentNull); return(_result.Code); } return(error); }
private int WriteQuestionAnswer(SchemeQuestionWithChildQuestionsDto schemeQuestion, CodedQuestionBase codedQuestion) { var errorCode = ExportResult.NoError; switch (schemeQuestion.QuestionType) { case QuestionType.Binary: errorCode = WriteBinaryQuestionAnswer(codedQuestion); break; case QuestionType.Category: WriteCategoryQuestionAnswer(schemeQuestion, codedQuestion); break; case QuestionType.Checkbox: errorCode = WriteCheckboxQuestionAnswer(schemeQuestion, codedQuestion); break; case QuestionType.MultipleChoice: errorCode = WriteMultipleChoiceQuestionAnswer(codedQuestion); break; case QuestionType.TextField: errorCode = WriteTextFieldQuestionAnswer(codedQuestion); break; default: errorCode = ExportResult.AnswerInvalidQuestionType; break; } if (schemeQuestion.IncludeComment) { WriteQuestionComment(codedQuestion); } return(errorCode); }