예제 #1
0
 public TableQuestionViewModel(TableQuestion question, IQuestionRepository questionRepository,
                               TableQuestionFactory tableQuestionFactory) :
     base(question)
 {
     _question             = question;
     _questionRepository   = questionRepository;
     _tableQuestionFactory = tableQuestionFactory;
     KeyUnit   = KeyUnits.FirstOrDefault();
     ValueUnit = KeyValues.FirstOrDefault();
     Choices   = new MultipleChoiceQuestionViewModel(new MultipleChoiceQuestion(), questionRepository)
     {
         Description = "TableMultipleChoice"
     };
 }
예제 #2
0
        public QuestionViewModel Create(Questionnaire questionaire, string name, int count)
        {
            QuestionViewModel question;

            switch (name)
            {
            case "Categorie":
                question = new CategorieQuestionViewModel(new CategorieQuestion()
                {
                    Order         = count,
                    Questionnaire = questionaire,
                }, _questionRepository);
                break;

            case "Open":
                question = new OpenQuestionViewModel(new OpenQuestion()
                {
                    Order         = count,
                    Questionnaire = questionaire
                }, _questionRepository);
                break;

            case "Meerkeuze":
                question = new MultipleChoiceQuestionViewModel(new MultipleChoiceQuestion()
                {
                    Order         = count,
                    Questionnaire = questionaire
                }, _questionRepository);
                break;

            case "Foto":
                question = new PictureQuestionViewModel(new PictureQuestion()
                {
                    Order         = count,
                    Questionnaire = questionaire
                }, _questionRepository);
                break;

            case "Schaal":
                question = new ScaleQuestionViewModel(new ScaleQuestion()
                {
                    Order         = count,
                    Questionnaire = questionaire
                }, _questionRepository);
                break;

            case "Tabel":
                question = new TableQuestionViewModel(new TableQuestion()
                {
                    Order         = count,
                    Questionnaire = questionaire
                }, _questionRepository, _tableQuestionFactory);
                break;

            case "Meet":
                question = new MeasureQuestionViewModel(new MeasureQuestion()
                {
                    Order         = count,
                    Questionnaire = questionaire
                }, _questionRepository);
                break;

            case "Teken":
                question = new DrawQuestionViewModel(new DrawQuestion()
                {
                    Order         = count,
                    Questionnaire = questionaire
                }, _questionRepository, _pictureRepository);
                break;

            default:
                throw new InvalidOperationException("invalid name entered in factory");
            }

            return(question);
        }