Exemple #1
0
        public TemplateSurvey GetAnswers(TemplateSurvey survey)
        {
            var       questions = survey.Sections[0].Questions;
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("Id");
            DataRow dataRow = null;

            for (int i = 0; i < questions.Count; i++)
            {
                dataRow       = dataTable.NewRow();
                dataRow["Id"] = questions[i].Id;
                dataTable.Rows.Add(dataRow);
            }

            _dataProvider.ExecuteCmd(
                "SurveyTemplate_Answers",
                cmd =>
            {
                SqlParameter param = cmd.AddWithValue("Questions", dataTable);
                param.SqlDbType    = SqlDbType.Structured;
            },
                (reader, read) =>
            {
                TemplateAnswerOption answer = new TemplateAnswerOption()
                {
                    Id             = (int)reader["Id"],
                    Text           = (string)reader["Text"],
                    Value          = (string)reader["Value"],
                    AdditionalInfo = (string)reader["AdditionalInfo"],
                    UserId         = (int)reader["UserId"],
                    QuestionId     = (int)reader["QuestionId"]
                };
                questions.Find(x => x.Id == answer.QuestionId).AnswerOptions.Add(answer);
            });
            return(survey);
        }
Exemple #2
0
        public TemplateSurvey ReadAll(int id)
        {
            TemplateSurvey           survey        = null;
            TemplateSection          section       = null;
            List <TemplateSection>   sectionList   = new List <TemplateSection>();
            List <TemplateQuestions> questionsList = new List <TemplateQuestions>();

            _dataProvider.ExecuteCmd(
                "SurveyTemplate_SSQ_Join",
                cmd =>
            {
                cmd.AddWithValue("@Id", id);
            },
                (reader, read) =>
            {
                survey = new TemplateSurvey()
                {
                    Id          = (int)reader["SurveyId"],
                    Name        = (string)reader["Name"],
                    Description = (string)reader["SurveyDescription"],
                    TypeId      = (int)reader["SurveyTypeId"],
                    StatusId    = (int)reader["SurveyStatusId"],
                    OwnerId     = (int)reader["SurveyOwnerId"],
                };
                object version = reader["Version"];
                if (version == DBNull.Value)
                {
                    survey.Version = 0;
                }
                else
                {
                    survey.Version = (int)version;
                }
                TemplateSection sectionTemplate = new TemplateSection()
                {
                    Id          = (int)reader["SectionId"],
                    Title       = (string)reader["Title"],
                    Description = (string)reader["SectionDescription"],
                    SortOrder   = (int)reader["SectionSortOrder"]
                };
                TemplateQuestions question = new TemplateQuestions()
                {
                    Id                = (int)reader["QuestionId"],
                    Question          = (string)reader["Question"],
                    SortOrder         = (int)reader["QuestionSortOrder"],
                    HelpText          = (string)reader["HelpText"],
                    IsRequired        = (bool)reader["IsRequired"],
                    IsMultipleAllowed = (bool)reader["IsMultipleAllowed"],
                    QuestionTypeId    = (int)reader["QuestionTypeId"],
                    StatusId          = (int)reader["StatusId"],
                    UserId            = (int)reader["UserId"],
                    AnswerOptions     = new List <TemplateAnswerOption>()
                };
                questionsList.Add(question);
                sectionTemplate.Questions = questionsList;
                section = sectionTemplate;
            });
            sectionList.Add(section);
            survey.Sections = sectionList;
            return(survey);
        }