Пример #1
0
        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());
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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());
        }
Пример #8
0
        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());
        }