public QuestionnaireTemplate GetQuestionnaireTemplate(int questionnaireTemplateId, string locale,
                                                              out GenericError error, DateTime now, int userId)
        {
            error = null;


            try
            {
                if (_serviceTemplate == null)
                {
                    _serviceTemplate = new Lazy <QuestionnaireTemplate>(() =>
                    {
                        var serviceTemplate = new QuestionnaireTemplate();
                        Model.Questionnaire.QuestionnaireTemplate questionTemplate =
                            _questionnaireBuilder.BuildQuestionnaireTemplate();

                        var categoryRes = new QuestionCategories();

                        questionTemplate.QuestionCategories.ForEach(c => FillServiceCategory(locale, categoryRes, c));

                        serviceTemplate.QuestionCategories = categoryRes.QuestionCategoriesList;
                        return(serviceTemplate);
                    });
                }
            }
            catch (Exception ex)
            {
                Logger.Controller.LogError(ex);
                error = ErrorClasses.Controller.GetUnknownError();
                return(null);
            }
            FillDailyInfoSpecificDisplayQuestions(userId, _serviceTemplate.Value, now);

            return(FillCategoryGeneralDescriptions(_serviceTemplate.Value));
        }
예제 #2
0
        public QuestionnaireTemplate GetSubmitQuestionnaireTemplate(int questionnaireTemplateId, string defaultQuestionnaireLocale, out GenericError error,
                                                                    DateTime getServerDateTime, int userId)
        {
            error = null;

            try
            {
                var templateBuilder = _questionnaireRegistry.GetAveliableQuestioannaireTemplateBuilder(questionnaireTemplateId);

                Model.Questionnaire.QuestionnaireTemplate questionnaireTemplateTemplate = templateBuilder.BuildSubmitQuestionnaireTemplate();

                return(templateBuilder.LocalizeTemplate(questionnaireTemplateTemplate));
            }
            catch (Exception ex)
            {
                Logger.Controller.LogError(ex);
                error = ErrorClasses.Controller.GetUnknownError();
                return(null);
            }
        }