public override QuestionnaireTemplate BuildQuestionnaireTemplate()
        {
            const int nuberOfCategories            = 7;
            var       numBerOfQuestionsArray       = new[] { 1, 2, 2, 2, 7, 6, 6 };
            var       numBerOfPossibleAnswersArray = new[]
            {
                new[] { 4 },
                new[] { 4, 4 },
                new[] { 4, 4 },
                new[] { 4, 4 },
                new[] { 4, 4, 4, 4, 4, 4, 4 },
                new[] { 4, 4, 4, 4, 4, 4, },
                new[] { 4, 4, 4, 4, 4, 4 }
            };

            var template   = new QuestionnaireTemplate {
            };
            var categories = new List <QuestionCategory>();
            int id         = 0;

            template.QuestionCategories = categories;
            for (int i = 0; i < nuberOfCategories; i++)
            {
                id++;

                var cat = new QuestionCategory
                {
                    CategoryQuestion = new Question
                    {
                        QuestionId       = id,
                        Description      = ("T1C" + (i + 1) + "D"),
                        Help             = ("T1C" + (i + 1) + "H"),
                        PossivbleAnswers = new List <PossivbleAnswer>()
                    }
                };

                for (int qca = 0; qca < 4; qca++)
                {
                    var poassibleAnswer = new PossivbleAnswer
                    {
                        Description = ("T1C" + (i + 1) + "A" + (qca + 1).ToString(CultureInfo.InvariantCulture)),
                        Value       = qca,
                    };
                    cat.CategoryQuestion.PossivbleAnswers.Add(poassibleAnswer);
                }

                int questionNumber = numBerOfQuestionsArray[i];

                cat.Questions = new List <Question>();

                for (int j = 0; j < questionNumber; j++)
                {
                    id++;
                    var question = new Question
                    {
                        QuestionId       = id,
                        Description      = ("T1C" + (i + 1) + "Q" + (j + 1).ToString(CultureInfo.InvariantCulture) + "D"),
                        Help             = ("T1C" + (i + 1) + "Q" + (j + 1).ToString(CultureInfo.InvariantCulture) + "H"),
                        PossivbleAnswers = new List <PossivbleAnswer>()
                    };
                    for (int k = 0; k < numBerOfPossibleAnswersArray[i][j]; k++)
                    {
                        var answerValue = k;

                        var poassibleAnswer = new PossivbleAnswer
                        {
                            Description = ("T1C" + (i + 1) + "Q" + (j + 1).ToString(CultureInfo.InvariantCulture) + "A" + (k + 1).ToString(CultureInfo.InvariantCulture)),
                            Value       = answerValue,
                        };
                        question.PossivbleAnswers.Add(poassibleAnswer);
                    }

                    cat.Questions.Add(question);
                }

                categories.Add(cat);
            }

            template.TemplateId = this.TemplateId;
            return(template);
        }
 private void LocalizePosibleAnswer(string locale, PossibleAnswers posibleAnswersRes, PossivbleAnswer pa)
 {
     posibleAnswersRes.AddItem(locale, pa.Description, pa.Value, pa.Id);
 }