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" }; }
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); }