private void WriteNumberVariable(Body body, CodebookVariable codebookVariable) { WriteVariableInfo(body, codebookVariable.FirstVariable); WriteQuestionInfo(body, codebookVariable.Question); Paragraph p = CreateEmptyParagraph(); body.Append(p); Table table = CreateTable(); body.Append(table); DocxTableRowParam rowParam = new DocxTableRowParam(); rowParam.Add(Resources.Item); rowParam.Add(Resources.Value); table.Append(rowParam.CreateTableRow()); rowParam = new DocxTableRowParam(); rowParam.Add(Resources.ValidFrequency); rowParam.AddRight(codebookVariable.ValidCasesString); table.Append(rowParam.CreateTableRow()); rowParam = new DocxTableRowParam(); rowParam.Add(Resources.InvalidFrequency); rowParam.AddRight(codebookVariable.InvalidCasesString); table.Append(rowParam.CreateTableRow()); rowParam = new DocxTableRowParam(); rowParam.Add(Resources.SampleFrequency); rowParam.AddRight(codebookVariable.TotalCasesString); table.Append(rowParam.CreateTableRow()); rowParam = new DocxTableRowParam(); rowParam.Add(Resources.Mean); rowParam.AddRight(codebookVariable.MeanString); table.Append(rowParam.CreateTableRow()); rowParam = new DocxTableRowParam(); rowParam.Add(Resources.Median); rowParam.AddRight(codebookVariable.MedianString); table.Append(rowParam.CreateTableRow()); rowParam = new DocxTableRowParam(); rowParam.Add(Resources.StandardDeviation); rowParam.AddRight(codebookVariable.StandardDeviationString); table.Append(rowParam.CreateTableRow()); rowParam = new DocxTableRowParam(); rowParam.Add(Resources.Minimum); rowParam.AddRight(codebookVariable.MinimumString); table.Append(rowParam.CreateTableRow()); rowParam = new DocxTableRowParam(); rowParam.Add(Resources.Maximum); rowParam.AddRight(codebookVariable.MaximumString); table.Append(rowParam.CreateTableRow()); }
private DocxTableRowParam CreateMissingOrEmptyCategoryInfoRow(CategoryInfo categoryInfo, ValueConverter converter, bool writeCode = true) { DocxTableRowParam rowParam = new DocxTableRowParam(); if (writeCode) { rowParam.AddRight(categoryInfo.CodeValue); } rowParam.Add(categoryInfo.CategoryTitle); rowParam.AddRight(converter.ToString(categoryInfo.FrequencyString)); rowParam.AddRight(converter.ToString(categoryInfo.PercentString)); rowParam.AddRight(EDOConstants.EMPTY_CURSOR); return(rowParam); }
private DocxTableRowParam CreateTotalRow(CategoryInfoCollection collection, ValueConverter converter, string title, string effectivePercent = EDOConstants.EMPTY_CURSOR, bool writeCode = true) { DocxTableRowParam rowParam = new DocxTableRowParam(); if (writeCode) { rowParam.Add(); } rowParam.Add(title); rowParam.AddRight(converter.ToString(collection.TotalFrequencyString)); rowParam.AddRight(converter.ToString(collection.TotalPercentString)); rowParam.AddRight(converter.ToString(effectivePercent)); return(rowParam); }
private DocxTableRowParam CreateNormalCategoryInfoRow(CategoryInfo categoryInfo, ValueConverter converter, bool writeCode = true) { DocxTableRowParam rowParam = new DocxTableRowParam(); if (writeCode) { rowParam.AddRight(categoryInfo.CodeValue); } rowParam.Add(categoryInfo.CategoryTitle); rowParam.AddRight(converter.ToString(categoryInfo.FrequencyString)); rowParam.AddRight(converter.ToString(categoryInfo.PercentString)); rowParam.AddRight(converter.ToString(categoryInfo.EffectivePercentString)); return(rowParam); }
private DocxTableRowParam CreateMultiAnswerTotalRow(CategoryInfoCollection collection, ValueConverter converter, string title, string percent, string effectivePercent) { DocxTableRowParam rowParam = new DocxTableRowParam(); rowParam.Add(); rowParam.Add(); rowParam.Add(title); rowParam.AddRight(converter.ToString(collection.TotalFrequencyString)); rowParam.AddRight(converter.ToString(percent)); rowParam.AddRight(converter.ToString(EDOConstants.EMPTY_CURSOR)); rowParam.AddRight(converter.ToString(effectivePercent)); rowParam.AddRight(converter.ToString(EDOConstants.EMPTY_CURSOR)); return(rowParam); }
private DocxTableRowParam CreateMultiAnswerCategoryInfoRow(CategoryInfo categoryInfo, ValueConverter converter, bool writeEffectivePercent) { DocxTableRowParam rowParam = new DocxTableRowParam(); rowParam.Add(categoryInfo.VariableTitle); rowParam.Add(categoryInfo.CodeValue); rowParam.Add(categoryInfo.CategoryTitle); rowParam.AddRight(converter.ToString(categoryInfo.FrequencyString)); rowParam.AddRight(converter.ToString(categoryInfo.PercentString)); rowParam.AddRight(converter.ToString(categoryInfo.CasePercentString)); if (writeEffectivePercent) { rowParam.AddRight(converter.ToString(categoryInfo.EffectivePercentString)); rowParam.AddRight(converter.ToString(categoryInfo.EffectiveCasePercentString)); } else { rowParam.AddRight(converter.ToString(EDOConstants.EMPTY_CURSOR)); rowParam.AddRight(converter.ToString(EDOConstants.EMPTY_CURSOR)); } return(rowParam); }
private void WriteChoicesSingleAnswerVariable(Body body, CodebookVariable codebookVariable, bool writeCode = true) { WriteVariableInfo(body, codebookVariable.FirstVariable); WriteQuestionInfo(body, codebookVariable.Question); Paragraph p = CreateEmptyParagraph(); body.Append(p); Table table = CreateTable(); body.Append(table); DocxTableRowParam rowParam = new DocxTableRowParam(); if (writeCode) { rowParam.Add(Resources.CodeNumber); } rowParam.Add(Resources.BranchSentence); rowParam.Add(Resources.Frequency); rowParam.Add(Resources.TotalPercent); rowParam.Add(Resources.TotalEffectivePercent); table.Append(rowParam.CreateTableRow()); StatisticsInfo statisticsInfo = codebookVariable.StatisticsInfo; if (statisticsInfo == null) { statisticsInfo = StatisticsUtils.CreateDummyChoicesSingleAnswerStatisticsInfo(codebookVariable); } ValueConverter converter = new ValueConverter() { HasData = codebookVariable.HasData }; CategoryInfoCollection[] collections = CategoryInfoCollection.Create(statisticsInfo); // normal values CategoryInfoCollection normalCollection = collections[1]; foreach (CategoryInfo normalInfo in normalCollection) { rowParam = CreateNormalCategoryInfoRow(normalInfo, converter, writeCode); table.Append(rowParam.CreateTableRow()); } // normal values subtotal rowParam = CreateTotalRow(normalCollection, converter, Resources.TotalValidValues, normalCollection.FullPercent, writeCode); table.Append(rowParam.CreateTableRow()); // missing values CategoryInfoCollection missingCollection = collections[2]; foreach (CategoryInfo missingInfo in missingCollection) { rowParam = CreateMissingOrEmptyCategoryInfoRow(missingInfo, converter, writeCode); table.Append(rowParam.CreateTableRow()); } // missing values subtotal rowParam = CreateTotalRow(missingCollection, converter, Resources.TotalInvalidValues, EDOConstants.EMPTY_CURSOR, writeCode); table.Append(rowParam.CreateTableRow()); // total CategoryInfoCollection totalCollection = collections[0]; rowParam = CreateTotalRow(totalCollection, converter, Resources.TotalAll, EDOConstants.EMPTY_CURSOR, writeCode); table.Append(rowParam.CreateTableRow()); }
private void WriteChoicesMultiAnswerVariable(Body body, CodebookVariable codebookVariable) { WriteQuestionInfo(body, codebookVariable.Question); Paragraph p = CreateEmptyParagraph(); body.Append(p); Table table = CreateTable(); body.Append(table); DocxTableRowParam rowParam = new DocxTableRowParam(); rowParam.Add(Resources.VariableName); rowParam.Add(Resources.CodeNumber); rowParam.Add(Resources.BranchSentence); rowParam.Add(Resources.Frequency); rowParam.Add(Resources.Percent); rowParam.Add(Resources.CasePercent); rowParam.Add(Resources.EffectivePercent); rowParam.Add(Resources.EffectiveCasePercent); table.Append(rowParam.CreateTableRow()); StatisticsInfo statisticsInfo = codebookVariable.StatisticsInfo; if (statisticsInfo == null) { statisticsInfo = StatisticsUtils.CreateDummyChoicesMultiAnswerStatisticsInfo(codebookVariable); } CategoryInfoCollection[] collections = CategoryInfoCollection.Create(statisticsInfo); ValueConverter converter = new ValueConverter() { HasData = codebookVariable.HasData }; // normal values CategoryInfoCollection normalCollection = collections[1]; foreach (CategoryInfo normalInfo in normalCollection) { rowParam = CreateMultiAnswerCategoryInfoRow(normalInfo, converter, true); table.Append(rowParam.CreateTableRow()); } // normal values subtotal rowParam = CreateMultiAnswerTotalRow(normalCollection, converter, Resources.TotalValidValues, normalCollection.TotalPercentString, normalCollection.FullPercent); table.Append(rowParam.CreateTableRow()); // missing values CategoryInfoCollection missingCollection = collections[2]; foreach (CategoryInfo missingInfo in missingCollection) { rowParam = CreateMultiAnswerCategoryInfoRow(missingInfo, converter, false); table.Append(rowParam.CreateTableRow()); } // missing values subtotal rowParam = CreateMultiAnswerTotalRow(missingCollection, converter, Resources.TotalInvalidValues, normalCollection.TotalPercentString, EDOConstants.EMPTY_CURSOR); table.Append(rowParam.CreateTableRow()); CategoryInfoCollection totalCollection = collections[0]; // total responses rowParam = CreateMultiAnswerTotalRow(totalCollection, converter, Resources.TotalResponses, totalCollection.FullPercent, EDOConstants.EMPTY_CURSOR); table.Append(rowParam.CreateTableRow()); // total samples rowParam = CreateMultiAnswerTotalRow(totalCollection, converter, Resources.TotalSamples, EDOConstants.EMPTY_CURSOR, EDOConstants.EMPTY_CURSOR); table.Append(rowParam.CreateTableRow()); }